Whamcloud - gitweb
b=20500
authoreeb <eeb>
Wed, 9 Sep 2009 22:17:08 +0000 (22:17 +0000)
committereeb <eeb>
Wed, 9 Sep 2009 22:17:08 +0000 (22:17 +0000)
i=rread
Brought doxygen up to date

54 files changed:
.cvsignore
build/apidoc.publish [deleted file]
build/autoMakefile.am.toplevel
build/doxyfile.api
build/doxyfile.ref
build/publish_doxygen [new file with mode: 0644]
libcfs/include/libcfs/libcfs_private.h
libcfs/include/libcfs/list.h
libcfs/libcfs/nidstrings.c
libcfs/libcfs/winnt/winnt-lock.c
libcfs/libcfs/winnt/winnt-strusup.c
lnet/klnds/mxlnd/mxlnd.c
lnet/klnds/mxlnd/mxlnd.h
lnet/klnds/mxlnd/mxlnd_cb.c
lustre/fld/fld_internal.h
lustre/include/cl_object.h
lustre/include/lu_object.h
lustre/include/lustre_dlm.h
lustre/include/obd_cksum.h
lustre/lclient/lcommon_cl.c
lustre/ldlm/ldlm_flock.c
lustre/llite/statahead.c
lustre/lmv/lmv_internal.h
lustre/lov/lov_cl_internal.h
lustre/lov/lov_io.c
lustre/lov/lov_lock.c
lustre/lov/lov_merge.c
lustre/lov/lov_object.c
lustre/lov/lov_page.c
lustre/lov/lovsub_dev.c
lustre/lov/lovsub_io.c
lustre/lov/lovsub_lock.c
lustre/lov/lovsub_object.c
lustre/lov/lovsub_page.c
lustre/mdd/mdd_orphans.c
lustre/mdt/mdt_handler.c
lustre/obdclass/cl_io.c
lustre/obdclass/cl_lock.c
lustre/obdclass/cl_page.c
lustre/obdclass/class_hash.c
lustre/obdclass/genops.c
lustre/obdclass/md_local_object.c
lustre/obdecho/echo_client.c
lustre/osc/osc_cl_internal.h
lustre/osc/osc_dev.c
lustre/osc/osc_io.c
lustre/osc/osc_lock.c
lustre/osc/osc_object.c
lustre/osc/osc_page.c
lustre/osc/osc_request.c
lustre/osd/osd_handler.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/sec.c
lustre/utils/liblustreapi.c

index 5d22aba..6ceece6 100644 (file)
@@ -42,3 +42,4 @@ series
 lustre.spec
 acl.size
 .git
 lustre.spec
 acl.size
 .git
+doxygen.*
diff --git a/build/apidoc.publish b/build/apidoc.publish
deleted file mode 100755 (executable)
index 69ed1cd..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#! /bin/bash
-
-#set -x
-
-OPTVAL=`getopt -o -b:l:du:v -n 'apidoc.publish' -- "$@"`
-
-# Note the quotes around `$OPTVAL': they are essential!
-eval set -- "$OPTVAL"
-
-if [ -d lustre/CVS ] ;then
-    if [ -r lustre/CVS/Tag ] ;then
-        branch=$(cut -c2- lustre/CVS/Tag)
-    else
-        branch=HEAD
-    fi
-else
-    branch=''
-fi
-
-verbose=0
-label=''
-user=$USER
-
-while true ;do
-       case "$1" in
-               -b)
-                       branch="$2"
-                       shift 2
-               ;;
-               -l)
-                       label="$label$2"
-                       shift 2
-               ;;
-               -u)
-                       user="$2"
-                       shift 2
-               ;;
-               -d)
-                       label="$label$(date '+%Y.%m.%d')"
-                       shift
-               ;;
-               -v)
-                       verbose=$(($verbose + 1))
-                       shift
-               ;;
-               --) 
-                       shift 
-                       break 
-               ;;
-               *) 
-                       echo "Internal error!" 
-                       exit 1 
-               ;;
-       esac
-done
-
-if [ x$branch = x ] ;then
-    echo "No branch specified"
-    exit 1
-fi
-
-echo "Updating documentation for branch \`$branch'"
-if [ x$label != x ] ;then
-    echo "Label: $label"
-fi
-
-dst="$user@shell.lustre.sun.com:/home/www/apidoc/$branch$label"
-
-opt="-rltvzp --delete"
-sshopt="ssh -l $user -oPort=922"
-if [ -d apidoc.api/html ] ;then
-       chmod -R a+rx apidoc.api/html
-    rsync $opt --rsh="$sshopt" apidoc.api/html $dst/api
-fi
-if [ -d apidoc.ref/html ] ;then
-       chmod -R a+rx apidoc.ref/html
-    rsync $opt --rsh="$sshopt" apidoc.ref/html $dst/ref
-fi
-
index beeddc2..873911b 100644 (file)
@@ -34,6 +34,11 @@ cscope:
        find $(top_srcdir) -name '*.[hc]' | grep -v "\.pc" > cscope.files
        cscope -bRq
 
        find $(top_srcdir) -name '*.[hc]' | grep -v "\.pc" > cscope.files
        cscope -bRq
 
+doxygen:  doxygen-api doxygen-ref
+
+doxygen-%: build/doxyfile.%
+          doxygen $<
+
 if MODULES
 sources: all-sources
 
 if MODULES
 sources: all-sources
 
index 4b8b103..e871875 100644 (file)
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.3
+# Doxyfile 1.6.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,7 +6,7 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = Lustre
 PROJECT_NUMBER         = 1.10
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = Lustre
 PROJECT_NUMBER         = 1.10
-OUTPUT_DIRECTORY       = apidoc.api
+OUTPUT_DIRECTORY       = doxygen.api
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
@@ -25,23 +25,29 @@ ABBREVIATE_BRIEF       = "The $name class" \
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = YES
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = YES
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = YES
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                =
 OPTIMIZE_OUTPUT_FOR_C  = YES
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_OUTPUT_FOR_C  = YES
 OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
@@ -62,46 +68,51 @@ SHOW_INCLUDE_FILES     = YES
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
+ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 30
 SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 MAX_INITIALIZER_LINES  = 30
 SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
-FILE_VERSION_FILTER    = 
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
-QUIET                  = NO
+QUIET                  = YES
 WARNINGS               = YES
 WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARNINGS               = YES
 WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
+WARN_FORMAT            = "$file:$line: $text  "
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = lustre/ \
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = lustre/ \
-                         lnet/   \
+                         lnet/ \
                          libcfs/
 INPUT_ENCODING         = UTF-8
 FILE_PATTERNS          = *.h \
                          *.c
 RECURSIVE              = YES
                          libcfs/
 INPUT_ENCODING         = UTF-8
 FILE_PATTERNS          = *.h \
                          *.c
 RECURSIVE              = YES
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
 EXCLUDE_SYMBOLS        = EXPORT_SYMBOL*
 EXCLUDE_SYMBOLS        = EXPORT_SYMBOL*
-EXAMPLE_PATH           = 
+EXAMPLE_PATH           =
 EXAMPLE_PATTERNS       = *
 EXAMPLE_RECURSIVE      = NO
 EXAMPLE_PATTERNS       = *
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -119,7 +130,7 @@ VERBATIM_HEADERS       = YES
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
@@ -128,19 +139,35 @@ HTML_OUTPUT            = html
 HTML_FILE_EXTENSION    = .html
 HTML_HEADER            = build/doxygen-header.html
 HTML_FOOTER            = build/doxygen-footer.html
 HTML_FILE_EXTENSION    = .html
 HTML_HEADER            = build/doxygen-header.html
 HTML_FOOTER            = build/doxygen-footer.html
+HTML_TIMESTAMP         = NO
 HTML_STYLESHEET        = build/doxygen-stylesheet.css
 HTML_ALIGN_MEMBERS     = YES
 HTML_STYLESHEET        = build/doxygen-stylesheet.css
 HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
 HTML_DYNAMIC_SECTIONS  = NO
 HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
 GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          = org.doxygen.Project
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = YES
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -150,12 +177,13 @@ LATEX_CMD_NAME         = latex
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = NO
 LATEX_HIDE_INDICES     = NO
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = NO
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -163,8 +191,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -177,8 +205,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -190,34 +218,37 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = NO
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
+EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             = KERNEL_VERSION(a,b,c)=(((a)<<16)+((b)<<8)+(c))
+EXPAND_AS_DEFINED      =
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
+TAGFILES               =
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = /usr/bin/perl
 #---------------------------------------------------------------------------
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = /usr/bin/perl
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = YES
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_FONTNAME           = FreeSans
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
@@ -230,15 +261,11 @@ CALLER_GRAPH           = YES
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = YES
 DOT_IMAGE_FORMAT       = png
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = YES
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 1000
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 1000
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = YES
index 7b5e790..ab1445f 100644 (file)
@@ -1,4 +1,4 @@
-# Doxyfile 1.5.3
+# Doxyfile 1.6.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,14 +6,14 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = Lustre
 PROJECT_NUMBER         = 1.10
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = Lustre
 PROJECT_NUMBER         = 1.10
-OUTPUT_DIRECTORY       = apidoc.ref
+OUTPUT_DIRECTORY       = doxygen.ref
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = "The $name class  " \
-                         "The $name widget  " \
-                         "The $name file  " \
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
                          is \
                          provides \
                          specifies \
                          is \
                          provides \
                          specifies \
@@ -25,23 +25,29 @@ ABBREVIATE_BRIEF       = "The $name class  " \
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = YES
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = YES
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = YES
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                =
 OPTIMIZE_OUTPUT_FOR_C  = YES
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_OUTPUT_FOR_C  = YES
 OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
@@ -62,46 +68,51 @@ SHOW_INCLUDE_FILES     = YES
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
 SORT_BY_SCOPE_NAME     = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
+ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 30
 SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
 MAX_INITIALIZER_LINES  = 30
 SHOW_USED_FILES        = YES
 SHOW_DIRECTORIES       = NO
-FILE_VERSION_FILTER    = 
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
-QUIET                  = NO
+QUIET                  = YES
 WARNINGS               = YES
 WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text  "
 WARNINGS               = YES
 WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text  "
-WARN_LOGFILE           = 
+WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = lustre/ \
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = lustre/ \
-                         lnet/   \
+                         lnet/ \
                          libcfs/
 INPUT_ENCODING         = UTF-8
 FILE_PATTERNS          = *.h \
                          *.c
 RECURSIVE              = YES
                          libcfs/
 INPUT_ENCODING         = UTF-8
 FILE_PATTERNS          = *.h \
                          *.c
 RECURSIVE              = YES
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
 EXCLUDE_SYMBOLS        = EXPORT_SYMBOL*
 EXCLUDE_SYMBOLS        = EXPORT_SYMBOL*
-EXAMPLE_PATH           = 
+EXAMPLE_PATH           =
 EXAMPLE_PATTERNS       = *
 EXAMPLE_RECURSIVE      = NO
 EXAMPLE_PATTERNS       = *
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -119,7 +130,7 @@ VERBATIM_HEADERS       = YES
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
@@ -128,19 +139,35 @@ HTML_OUTPUT            = html
 HTML_FILE_EXTENSION    = .html
 HTML_HEADER            = build/doxygen-header.html
 HTML_FOOTER            = build/doxygen-footer.html
 HTML_FILE_EXTENSION    = .html
 HTML_HEADER            = build/doxygen-header.html
 HTML_FOOTER            = build/doxygen-footer.html
+HTML_TIMESTAMP         = NO
 HTML_STYLESHEET        = build/doxygen-stylesheet.css
 HTML_ALIGN_MEMBERS     = YES
 HTML_STYLESHEET        = build/doxygen-stylesheet.css
 HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
 HTML_DYNAMIC_SECTIONS  = NO
 HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
 GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          = org.doxygen.Project
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
 DISABLE_INDEX          = NO
 ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
 TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = YES
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -150,12 +177,13 @@ LATEX_CMD_NAME         = latex
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = NO
 LATEX_HIDE_INDICES     = NO
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = NO
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -163,8 +191,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -177,8 +205,8 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
+XML_SCHEMA             =
+XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
@@ -190,34 +218,37 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = NO
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
+EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             = KERNEL_VERSION(a,b,c)=(((a)<<16)+((b)<<8)+(c))
+EXPAND_AS_DEFINED      =
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
+TAGFILES               =
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = /usr/bin/perl
 #---------------------------------------------------------------------------
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = /usr/bin/perl
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = NO
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_FONTNAME           = FreeSans
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = NO
 CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = NO
@@ -230,15 +261,11 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = YES
 DOT_IMAGE_FORMAT       = png
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = YES
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 1000
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 1000
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = YES
diff --git a/build/publish_doxygen b/build/publish_doxygen
new file mode 100644 (file)
index 0000000..0b2439e
--- /dev/null
@@ -0,0 +1,79 @@
+#! /bin/bash
+
+label=''
+user=$USER
+port=922
+branch=''
+
+# update for git!!! 
+if [ -d lustre/CVS ] ;then
+    if [ -r lustre/CVS/Tag ] ;then
+        branch=$(cut -c2- lustre/CVS/Tag)
+    else
+        branch=HEAD
+    fi
+fi
+
+eval set -- $(getopt -o -b:l:du:p: -n 'publish_doxygen' -- "$@")
+
+while true ;do
+    case "$1" in
+       -b) branch="$2"
+           shift 2
+           ;;
+       -l) label="$label$2"
+           shift 2
+           ;;
+       -u) user="$2"
+           shift 2
+           ;;
+       -d) label="$label$(date '+%Y.%m.%d')"
+           shift
+           ;;
+       -p) port="$2"
+           shift 2
+           ;;
+       --) 
+           shift 
+           break 
+           ;;
+       *) 
+           echo "Internal error!" 
+           exit 1 
+           ;;
+    esac
+done
+
+if [ -z "$branch" ] ;then
+    echo "No branch specified"
+    exit 1
+fi
+
+if [ -z "$user" ] ; then
+    echo "No user specified"
+    exit 1
+fi
+
+dsthost="shell.lustre.sun.com"
+dstdir="/home/www/doxygen/$branch$label"
+
+echo "Publishing documentation to $dsthost:$dstdir"
+
+sshcmd="ssh -p $port -l $user"
+
+eval $sshcmd $dsthost <<EOF
+    if [ ! -d $dstdir ]; then
+        echo "Creating $dstdir"
+        mkdir $dstdir
+    fi
+EOF
+
+for doctype in api ref; do
+    srcdir=doxygen.$doctype/html
+    if [ -d $srcdir ]; then
+       chmod -R a+rx $srcdir
+       rsync -rltvzp --delete --rsh="$sshcmd" $srcdir $dsthost:$dstdir/$doctype
+    fi
+done
+
+
index 336fef7..51fd61b 100644 (file)
@@ -287,14 +287,14 @@ int libcfs_debug_cleanup(void);
 /* !__KERNEL__ */
 #endif
 
 /* !__KERNEL__ */
 #endif
 
-/*
- * compile-time assertions. @cond has to be constant expression.
- * ISO C Standard:
- *
- *        6.8.4.2  The switch statement
+/** Compile-time assertion. 
+
+ * Check an invariant described by a constant expression at compile time by
+ * forcing a compiler error if it does not hold.  \a cond must be a constant
+ * expression as defined by the ISO C Standard:
  *
  *
+ *       6.8.4.2  The switch statement
  *       ....
  *       ....
- *
  *       [#3] The expression of each case label shall be  an  integer
  *       constant   expression  and  no  two  of  the  case  constant
  *       expressions in the same switch statement shall have the same
  *       [#3] The expression of each case label shall be  an  integer
  *       constant   expression  and  no  two  of  the  case  constant
  *       expressions in the same switch statement shall have the same
index eaec156..1060dcb 100644 (file)
@@ -45,7 +45,7 @@ typedef struct list_head list_t;
        (ptr)->next = (ptr); (ptr)->prev = (ptr); \
 } while (0)
 
        (ptr)->next = (ptr); (ptr)->prev = (ptr); \
 } while (0)
 
-/*
+/**
  * Insert a new entry between two known consecutive entries.
  *
  * This is only for internal list manipulation where we know
  * Insert a new entry between two known consecutive entries.
  *
  * This is only for internal list manipulation where we know
@@ -62,9 +62,9 @@ static inline void __list_add(struct list_head * new,
 }
 
 /**
 }
 
 /**
- * list_add - add a new entry
- * @new: new entry to be added
- * @head: list head to add it after
+ * Insert an entry at the start of a list.
+ * \param new  new entry to be inserted
+ * \param head list to add it to
  *
  * Insert a new entry after the specified head.
  * This is good for implementing stacks.
  *
  * Insert a new entry after the specified head.
  * This is good for implementing stacks.
@@ -75,9 +75,9 @@ static inline void list_add(struct list_head *new, struct list_head *head)
 }
 
 /**
 }
 
 /**
- * list_add_tail - add a new entry
- * @new: new entry to be added
- * @head: list head to add it before
+ * Insert an entry at the end of a list.
+ * \param new  new entry to be inserted
+ * \param head list to add it to
  *
  * Insert a new entry before the specified head.
  * This is useful for implementing queues.
  *
  * Insert a new entry before the specified head.
  * This is useful for implementing queues.
@@ -101,9 +101,9 @@ static inline void __list_del(struct list_head * prev, struct list_head * next)
 }
 
 /**
 }
 
 /**
- * list_del - deletes entry from list.
- * @entry: the element to delete from the list.
- * Note: list_empty on entry does not return true after this, the entry is in an undefined state.
+ * Remove an entry from the list it is currently in.
+ * \param entry the entry to remove
+ * Note: list_empty(entry) does not return true after this, the entry is in an undefined state.
  */
 static inline void list_del(struct list_head *entry)
 {
  */
 static inline void list_del(struct list_head *entry)
 {
@@ -111,8 +111,8 @@ static inline void list_del(struct list_head *entry)
 }
 
 /**
 }
 
 /**
- * list_del_init - deletes entry from list and reinitialize it.
- * @entry: the element to delete from the list.
+ * Remove an entry from the list it is currently in and reinitialize it.
+ * \param entry the entry to remove.
  */
 static inline void list_del_init(struct list_head *entry)
 {
  */
 static inline void list_del_init(struct list_head *entry)
 {
@@ -121,11 +121,9 @@ static inline void list_del_init(struct list_head *entry)
 }
 
 /**
 }
 
 /**
- * list_move - delete from one list and add as another's head
- * @list: the entry to move
- * @head: the head that will precede our entry
- *
- * This is not safe to use if @list is already on the same list as @head.
+ * Remove an entry from the list it is currently in and insert it at the start of another list.
+ * \param list the entry to move
+ * \param head the list to move it to
  */
 static inline void list_move(struct list_head *list, struct list_head *head)
 {
  */
 static inline void list_move(struct list_head *list, struct list_head *head)
 {
@@ -134,11 +132,9 @@ static inline void list_move(struct list_head *list, struct list_head *head)
 }
 
 /**
 }
 
 /**
- * list_move_tail - delete from one list and add as another's tail
- * @list: the entry to move
- * @head: the head that will follow our entry
- *
- * This is not safe to use if @list is already on the same list as @head.
+ * Remove an entry from the list it is currently in and insert it at the end of another list.
+ * \param list the entry to move
+ * \param head the list to move it to
  */
 static inline void list_move_tail(struct list_head *list,
                                  struct list_head *head)
  */
 static inline void list_move_tail(struct list_head *list,
                                  struct list_head *head)
@@ -148,8 +144,8 @@ static inline void list_move_tail(struct list_head *list,
 }
 
 /**
 }
 
 /**
- * list_empty - tests whether a list is empty
- * @head: the list to test.
+ * Test whether a list is empty
+ * \param head the list to test.
  */
 static inline int list_empty(struct list_head *head)
 {
  */
 static inline int list_empty(struct list_head *head)
 {
@@ -157,11 +153,10 @@ static inline int list_empty(struct list_head *head)
 }
 
 /**
 }
 
 /**
- * list_empty_careful - tests whether a list is empty and not being modified
- * @head: the list to test
+ * Test whether a list is empty and not being modified
+ * \param head the list to test
  *
  *
- * Description:
- * tests whether a list is empty _and_ checks that no other CPU might be
+ * Tests whether a list is empty _and_ checks that no other CPU might be
  * in the process of modifying either member (next or prev)
  *
  * NOTE: using list_empty_careful() without synchronization
  * in the process of modifying either member (next or prev)
  *
  * NOTE: using list_empty_careful() without synchronization
@@ -190,9 +185,12 @@ static inline void __list_splice(struct list_head *list,
 }
 
 /**
 }
 
 /**
- * list_splice - join two lists
- * @list: the new list to add.
- * @head: the place to add it in the first list.
+ * Join two lists
+ * \param list the new list to add.
+ * \param head the place to add it in the first list.
+ *
+ * The contents of \a list are added at the start of \a head.  \a list is in an
+ * undefined state on return.
  */
 static inline void list_splice(struct list_head *list, struct list_head *head)
 {
  */
 static inline void list_splice(struct list_head *list, struct list_head *head)
 {
@@ -201,11 +199,12 @@ static inline void list_splice(struct list_head *list, struct list_head *head)
 }
 
 /**
 }
 
 /**
- * list_splice_init - join two lists and reinitialise the emptied list.
- * @list: the new list to add.
- * @head: the place to add it in the first list.
+ * Join two lists and reinitialise the emptied list.
+ * \param list the new list to add.
+ * \param head the place to add it in the first list.
  *
  *
- * The list at @list is reinitialised
+ * The contents of \a list are added at the start of \a head.  \a list is empty
+ * on return.
  */
 static inline void list_splice_init(struct list_head *list,
                                    struct list_head *head)
  */
 static inline void list_splice_init(struct list_head *list,
                                    struct list_head *head)
@@ -217,38 +216,45 @@ static inline void list_splice_init(struct list_head *list,
 }
 
 /**
 }
 
 /**
- * list_entry - get the struct for this entry
- * @ptr:       the &struct list_head pointer.
- * @type:      the type of the struct this is embedded in.
- * @member:    the name of the list_struct within the struct.
+ * Get the container of a list 
+ * \param ptr   the embedded list.
+ * \param type  the type of the struct this is embedded in.
+ * \param member the member name of the list within the struct.
  */
 #define list_entry(ptr, type, member) \
        ((type *)((char *)(ptr)-(char *)(&((type *)0)->member)))
 
 /**
  */
 #define list_entry(ptr, type, member) \
        ((type *)((char *)(ptr)-(char *)(&((type *)0)->member)))
 
 /**
- * list_for_each       -       iterate over a list
- * @pos:       the &struct list_head to use as a loop counter.
- * @head:      the head for your list.
+ * Iterate over a list
+ * \param pos  the iterator
+ * \param head the list to iterate over
+ * 
+ * Behaviour is undefined if \a pos is removed from the list in the body of the
+ * loop.
  */
 #define list_for_each(pos, head) \
        for (pos = (head)->next, prefetch(pos->next); pos != (head); \
                pos = pos->next, prefetch(pos->next))
 
 /**
  */
 #define list_for_each(pos, head) \
        for (pos = (head)->next, prefetch(pos->next); pos != (head); \
                pos = pos->next, prefetch(pos->next))
 
 /**
- * list_for_each_safe  -       iterate over a list safe against removal of list entry
- * @pos:       the &struct list_head to use as a loop counter.
- * @n:         another &struct list_head to use as temporary storage
- * @head:      the head for your list.
+ * iterate over a list safely
+ * \param pos  the iterator
+ * \param n     temporary storage
+ * \param head the list to iterate over
+ *
+ * This is safe to use if \a pos could be removed from the list in the body of
+ * the loop.
  */
 #define list_for_each_safe(pos, n, head) \
        for (pos = (head)->next, n = pos->next; pos != (head); \
                pos = n, n = pos->next)
 
  */
 #define list_for_each_safe(pos, n, head) \
        for (pos = (head)->next, n = pos->next; pos != (head); \
                pos = n, n = pos->next)
 
-/*
+/**
+ * \defgroup hlist Hash List
  * Double linked lists with a single pointer list head.
  * Double linked lists with a single pointer list head.
- * Mostly useful for hash tables where the two pointer list head is
- * too wasteful.
- * You lose the ability to access the tail in O(1).
+ * Mostly useful for hash tables where the two pointer list head is too
+ * wasteful.  You lose the ability to access the tail in O(1).
+ * @{
  */
 
 struct hlist_head {
  */
 
 struct hlist_head {
@@ -259,6 +265,8 @@ struct hlist_node {
        struct hlist_node *next, **pprev;
 };
 
        struct hlist_node *next, **pprev;
 };
 
+/* @} */
+
 /*
  * "NULL" might not be defined at this point
  */
 /*
  * "NULL" might not be defined at this point
  */
@@ -268,6 +276,11 @@ struct hlist_node {
 #define NULL_P ((void *)0)
 #endif
 
 #define NULL_P ((void *)0)
 #endif
 
+/**
+ * \addtogroup hlist
+ * @{
+ */
+
 #define CFS_HLIST_HEAD_INIT { NULL_P }
 #define CFS_HLIST_HEAD(name) struct hlist_head name = { NULL_P }
 #define CFS_INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL_P)
 #define CFS_HLIST_HEAD_INIT { NULL_P }
 #define CFS_HLIST_HEAD(name) struct hlist_head name = { NULL_P }
 #define CFS_INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL_P)
@@ -352,11 +365,11 @@ static inline void hlist_add_after(struct hlist_node *n,
             pos = n)
 
 /**
             pos = n)
 
 /**
- * hlist_for_each_entry        - iterate over list of given type
- * @tpos:      the type * to use as a loop counter.
- * @pos:       the &struct hlist_node to use as a loop counter.
- * @head:      the head for your list.
- * @member:    the name of the hlist_node within the struct.
+ * Iterate over an hlist of given type
+ * \param tpos  the type * to use as a loop counter.
+ * \param pos   the &struct hlist_node to use as a loop counter.
+ * \param head  the head for your list.
+ * \param member the name of the hlist_node within the struct.
  */
 #define hlist_for_each_entry(tpos, pos, head, member)                   \
        for (pos = (head)->first;                                        \
  */
 #define hlist_for_each_entry(tpos, pos, head, member)                   \
        for (pos = (head)->first;                                        \
@@ -365,10 +378,10 @@ static inline void hlist_add_after(struct hlist_node *n,
             pos = pos->next)
 
 /**
             pos = pos->next)
 
 /**
- * hlist_for_each_entry_continue - iterate over a hlist continuing after existing point
- * @tpos:      the type * to use as a loop counter.
- * @pos:       the &struct hlist_node to use as a loop counter.
- * @member:    the name of the hlist_node within the struct.
+ * Iterate over an hlist continuing after existing point
+ * \param tpos  the type * to use as a loop counter.
+ * \param pos   the &struct hlist_node to use as a loop counter.
+ * \param member the name of the hlist_node within the struct.
  */
 #define hlist_for_each_entry_continue(tpos, pos, member)                \
        for (pos = (pos)->next;                                          \
  */
 #define hlist_for_each_entry_continue(tpos, pos, member)                \
        for (pos = (pos)->next;                                          \
@@ -377,10 +390,10 @@ static inline void hlist_add_after(struct hlist_node *n,
             pos = pos->next)
 
 /**
             pos = pos->next)
 
 /**
- * hlist_for_each_entry_from - iterate over a hlist continuing from existing point
- * @tpos:      the type * to use as a loop counter.
- * @pos:       the &struct hlist_node to use as a loop counter.
- * @member:    the name of the hlist_node within the struct.
+ * Iterate over an hlist continuing from an existing point
+ * \param tpos  the type * to use as a loop counter.
+ * \param pos   the &struct hlist_node to use as a loop counter.
+ * \param member the name of the hlist_node within the struct.
  */
 #define hlist_for_each_entry_from(tpos, pos, member)                    \
        for (; pos && ({ prefetch(pos->next); 1;}) &&                    \
  */
 #define hlist_for_each_entry_from(tpos, pos, member)                    \
        for (; pos && ({ prefetch(pos->next); 1;}) &&                    \
@@ -388,12 +401,12 @@ static inline void hlist_add_after(struct hlist_node *n,
             pos = pos->next)
 
 /**
             pos = pos->next)
 
 /**
- * hlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry
- * @tpos:      the type * to use as a loop counter.
- * @pos:       the &struct hlist_node to use as a loop counter.
- * @n:         another &struct hlist_node to use as temporary storage
- * @head:      the head for your list.
- * @member:    the name of the hlist_node within the struct.
+ * Iterate over an hlist of given type safe against removal of list entry
+ * \param tpos  the type * to use as a loop counter.
+ * \param pos   the &struct hlist_node to use as a loop counter.
+ * \param n     another &struct hlist_node to use as temporary storage
+ * \param head  the head for your list.
+ * \param member the name of the hlist_node within the struct.
  */
 #define hlist_for_each_entry_safe(tpos, pos, n, head, member)           \
        for (pos = (head)->first;                                        \
  */
 #define hlist_for_each_entry_safe(tpos, pos, n, head, member)           \
        for (pos = (head)->first;                                        \
@@ -401,13 +414,15 @@ static inline void hlist_add_after(struct hlist_node *n,
                ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
             pos = n)
 
                ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
             pos = n)
 
+/* @} */
+
 #endif /* __linux__ && __KERNEL__ */
 
 #ifndef list_for_each_prev
 /**
 #endif /* __linux__ && __KERNEL__ */
 
 #ifndef list_for_each_prev
 /**
- * list_for_each_prev  -       iterate over a list in reverse order
- * @pos:       the &struct list_head to use as a loop counter.
- * @head:      the head for your list.
+ * Iterate over a list in reverse order
+ * \param pos  the &struct list_head to use as a loop counter.
+ * \param head the head for your list.
  */
 #define list_for_each_prev(pos, head) \
        for (pos = (head)->prev, prefetch(pos->prev); pos != (head);     \
  */
 #define list_for_each_prev(pos, head) \
        for (pos = (head)->prev, prefetch(pos->prev); pos != (head);     \
@@ -417,10 +432,10 @@ static inline void hlist_add_after(struct hlist_node *n,
 
 #ifndef list_for_each_entry
 /**
 
 #ifndef list_for_each_entry
 /**
- * list_for_each_entry  -       iterate over list of given type
- * @pos:        the type * to use as a loop counter.
- * @head:       the head for your list.
- * @member:     the name of the list_struct within the struct.
+ * Iterate over a list of given type
+ * \param pos        the type * to use as a loop counter.
+ * \param head       the head for your list.
+ * \param member     the name of the list_struct within the struct.
  */
 #define list_for_each_entry(pos, head, member)                         \
         for (pos = list_entry((head)->next, typeof(*pos), member),     \
  */
 #define list_for_each_entry(pos, head, member)                         \
         for (pos = list_entry((head)->next, typeof(*pos), member),     \
@@ -432,10 +447,10 @@ static inline void hlist_add_after(struct hlist_node *n,
 
 #ifndef list_for_each_entry_reverse
 /**
 
 #ifndef list_for_each_entry_reverse
 /**
- * list_for_each_entry_reverse - iterate backwards over list of given type.
- * @pos:        the type * to use as a loop counter.
- * @head:       the head for your list.
- * @member:     the name of the list_struct within the struct.
+ * Iterate backwards over a list of given type.
+ * \param pos        the type * to use as a loop counter.
+ * \param head       the head for your list.
+ * \param member     the name of the list_struct within the struct.
  */
 #define list_for_each_entry_reverse(pos, head, member)                  \
        for (pos = list_entry((head)->prev, typeof(*pos), member);      \
  */
 #define list_for_each_entry_reverse(pos, head, member)                  \
        for (pos = list_entry((head)->prev, typeof(*pos), member);      \
@@ -445,11 +460,11 @@ static inline void hlist_add_after(struct hlist_node *n,
 
 #ifndef list_for_each_entry_safe
 /**
 
 #ifndef list_for_each_entry_safe
 /**
- * list_for_each_entry_safe  -       iterate over list of given type safe against removal of list entry
- * @pos:        the type * to use as a loop counter.
- * @n:          another type * to use as temporary storage
- * @head:       the head for your list.
- * @member:     the name of the list_struct within the struct.
+ * Iterate over a list of given type safe against removal of list entry
+ * \param pos        the type * to use as a loop counter.
+ * \param n          another type * to use as temporary storage
+ * \param head       the head for your list.
+ * \param member     the name of the list_struct within the struct.
  */
 #define list_for_each_entry_safe(pos, n, head, member)                 \
         for (pos = list_entry((head)->next, typeof(*pos), member),     \
  */
 #define list_for_each_entry_safe(pos, n, head, member)                 \
         for (pos = list_entry((head)->next, typeof(*pos), member),     \
@@ -461,11 +476,11 @@ static inline void hlist_add_after(struct hlist_node *n,
 
 #ifndef list_for_each_entry_safe_from
 /**
 
 #ifndef list_for_each_entry_safe_from
 /**
- * list_for_each_entry_safe_from
- * @pos:        the type * to use as a loop cursor.
- * @n:          another type * to use as temporary storage
- * @head:       the head for your list.
- * @member:     the name of the list_struct within the struct.
+ * Iterate over a list continuing from an existing point
+ * \param pos        the type * to use as a loop cursor.
+ * \param n          another type * to use as temporary storage
+ * \param head       the head for your list.
+ * \param member     the name of the list_struct within the struct.
  *
  * Iterate over list of given type from current point, safe against
  * removal of list entry.
  *
  * Iterate over list of given type from current point, safe against
  * removal of list entry.
index 28796e7..3f39930 100644 (file)
@@ -562,6 +562,7 @@ libcfs_str2anynid(lnet_nid_t *nidp, const char *str)
 
 /**
  * Nid range list syntax.
 
 /**
  * Nid range list syntax.
+ * \verbatim
  *
  * <nidlist>         :== <nidrange> [ ' ' <nidrange> ]
  * <nidrange>        :== <addrrange> '@' <net>
  *
  * <nidlist>         :== <nidrange> [ ' ' <nidrange> ]
  * <nidrange>        :== <addrrange> '@' <net>
@@ -579,6 +580,7 @@ libcfs_str2anynid(lnet_nid_t *nidp, const char *str)
  * <net>             :== <netname> | <netname><number>
  * <netname>         :== "lo" | "tcp" | "o2ib" | "cib" | "openib" | "iib" |
  *                       "vib" | "ra" | "elan" | "gm" | "mx" | "ptl"
  * <net>             :== <netname> | <netname><number>
  * <netname>         :== "lo" | "tcp" | "o2ib" | "cib" | "openib" | "iib" |
  *                       "vib" | "ra" | "elan" | "gm" | "mx" | "ptl"
+ * \endverbatim
  */
 
 /**
  */
 
 /**
@@ -590,9 +592,9 @@ struct lstr {
 };
 
 /**
 };
 
 /**
- * Structure to represent <nidrange> token of the syntax.
+ * Structure to represent \<nidrange\> token of the syntax.
  *
  *
- * One of this is created for each <net> parsed.
+ * One of this is created for each \<net\> parsed.
  */
 struct nidrange {
         /**
  */
 struct nidrange {
         /**
@@ -613,13 +615,13 @@ struct nidrange {
          */
         struct netstrfns *nr_netstrfns;
         /**
          */
         struct netstrfns *nr_netstrfns;
         /**
-         * Number of network. E.g. 5 if <net> is "elan5".
+         * Number of network. E.g. 5 if \<net\> is "elan5".
          */
         int nr_netnum;
 };
 
 /**
          */
         int nr_netnum;
 };
 
 /**
- * Structure to represent <addrrange> token of the syntax.
+ * Structure to represent \<addrrange\> token of the syntax.
  */
 struct addrrange {
         /**
  */
 struct addrrange {
         /**
@@ -633,7 +635,7 @@ struct addrrange {
 };
 
 /**
 };
 
 /**
- * Structure to represent <numaddr_range> token of the syntax.
+ * Structure to represent \<numaddr_range\> token of the syntax.
  */
 struct numaddr_range {
         /**
  */
 struct numaddr_range {
         /**
@@ -647,7 +649,7 @@ struct numaddr_range {
 };
 
 /**
 };
 
 /**
- * Structure to represent <range_expr> token of the syntax.
+ * Structure to represent \<range_expr\> token of the syntax.
  */
 struct range_expr {
         /**
  */
 struct range_expr {
         /**
@@ -763,14 +765,14 @@ libcfs_str2num_check(const char *str, int nob, unsigned *num,
 }
 
 /**
 }
 
 /**
- * Parses <range_expr> token of the syntax.
+ * Parses \<range_expr\> token of the syntax.
  *
  * \retval pointer to allocated range_expr and initialized
  * range_expr::re_lo, range_expr::re_hi and range_expr:re_stride if \a
  *
  * \retval pointer to allocated range_expr and initialized
  * range_expr::re_lo, range_expr::re_hi and range_expr:re_stride if \a
- * src parses to
- * <number> |
- * <number> '-' <number> |
- * <number> '-' <number> '/' <number>
`* src parses to
+ * \<number\> |
+ * \<number\> '-' \<number\> |
+ * \<number\> '-' \<number\> '/' \<number\>
  * \retval NULL othersize
  */
 static struct range_expr *
  * \retval NULL othersize
  */
 static struct range_expr *
@@ -822,10 +824,10 @@ failed:
 }
 
 /**
 }
 
 /**
- * Parsed <expr_list> token of the syntax.
+ * Parses \<expr_list\> token of the syntax.
  *
  *
- * \retval 1 if \a str parses to '[' <range_expr> [ ',' <range_expr>] ']'
- * \return 0 otherwise
+ * \retval 1 if \a str parses to '[' \<range_expr\> [ ',' \<range_expr\>] ']'
+ * \retval 0 otherwise
  */
 static int
 parse_expr_list(struct lstr *str, struct list_head *list,
  */
 static int
 parse_expr_list(struct lstr *str, struct list_head *list,
@@ -851,9 +853,9 @@ parse_expr_list(struct lstr *str, struct list_head *list,
 }
 
 /**
 }
 
 /**
- * Parses <numaddr_range> token of the syntax.
+ * Parses \<numaddr_range\> token of the syntax.
  *
  *
- * \retval 1 if \a str parses to <number> | <expr_list>
+ * \retval 1 if \a str parses to \<number\> | \<expr_list\>
  * \retval 0 otherwise
  */
 static int
  * \retval 0 otherwise
  */
 static int
@@ -934,12 +936,12 @@ libcfs_ip_parse(char *str, int len,
 }
 
 /**
 }
 
 /**
- * Parses <addrrange> token on the syntax.
+ * Parses \<addrrange\> token on the syntax.
  *
  * Allocates struct addrrange and links to \a nidrange via
  * (nidrange::nr_addrranges)
  *
  *
  * Allocates struct addrrange and links to \a nidrange via
  * (nidrange::nr_addrranges)
  *
- * \retval 1 if \a src parses to '*' | <ipaddr_range> | <numaddr_range>
+ * \retval 1 if \a src parses to '*' | \<ipaddr_range\> | \<numaddr_range\>
  * \retval 0 otherwise
  */
 static int
  * \retval 0 otherwise
  */
 static int
@@ -1023,9 +1025,9 @@ add_nidrange(const struct lstr *src,
 }
 
 /**
 }
 
 /**
- * Parses <nidrange> token of the syntax.
+ * Parses \<nidrange\> token of the syntax.
  *
  *
- * \retval 1 if \a src parses to <addrrange> '@' <net>
+ * \retval 1 if \a src parses to \<addrrange\> '@' \<net\>
  * \retval 0 otherwise
  */
 static int
  * \retval 0 otherwise
  */
 static int
@@ -1141,7 +1143,7 @@ cfs_free_nidlist(struct list_head *list)
  * Parses nid range list.
  *
  * Parses with rigorous syntax and overflow checking \a str into
  * Parses nid range list.
  *
  * Parses with rigorous syntax and overflow checking \a str into
- * <nidrange> [ ' ' <nidrange> ], compiles \a str into set of
+ * \<nidrange\> [ ' ' \<nidrange\> ], compiles \a str into set of
  * structures and links that structure to \a nidlist. The resulting
  * list can be used to match a NID againts set of NIDS defined by \a
  * str.
  * structures and links that structure to \a nidlist. The resulting
  * list can be used to match a NID againts set of NIDS defined by \a
  * str.
index 7b20b53..c2ac044 100644 (file)
@@ -253,10 +253,10 @@ atomic_dec_and_test(
 
 /**
  * atomic_add_return - add integer and return
 
 /**
  * atomic_add_return - add integer and return
- * @v: pointer of type atomic_t
- * @i: integer value to add
+ * \param v pointer of type atomic_t
+ * \param i integer value to add
  *
  *
- * Atomically adds @i to @v and returns @i + @v
+ * Atomically adds \a i to \a v and returns \a i + \a v
  */
 int FASTCALL atomic_add_return(int i, atomic_t *v)
 {
  */
 int FASTCALL atomic_add_return(int i, atomic_t *v)
 {
@@ -278,10 +278,10 @@ int FASTCALL atomic_add_return(int i, atomic_t *v)
 
 /**
  * atomic_sub_return - subtract integer and return
 
 /**
  * atomic_sub_return - subtract integer and return
- * @v: pointer of type atomic_t
- * @i: integer value to subtract
+ * \param v pointer of type atomic_t
+ * \param i integer value to subtract
  *
  *
- * Atomically subtracts @i from @v and returns @v - @i
+ * Atomically subtracts \a i from \a v and returns \a v - \a i
  */
 int FASTCALL atomic_sub_return(int i, atomic_t *v)
 {
  */
 int FASTCALL atomic_sub_return(int i, atomic_t *v)
 {
index 45fac94..9463680 100644 (file)
@@ -166,14 +166,14 @@ Again:
 
 /**
  *     radix_tree_gang_lookup - perform multiple lookup on a radix tree
 
 /**
  *     radix_tree_gang_lookup - perform multiple lookup on a radix tree
- *     @root:          radix tree root
- *     @results:       where the results of the lookup are placed
- *     @first_index:   start the lookup from this key
- *     @max_items:     place up to this many items at *results
+ *     \param root radix tree root
+ *     \param results where the results of the lookup are placed
+ *     \param first_index start the lookup from this key
+ *     \param max_items place up to this many items at *results
  *
  *     Performs an index-ascending scan of the tree for present items.  Places
  *
  *     Performs an index-ascending scan of the tree for present items.  Places
- *     them at *@results and returns the number of items which were placed at
- *     *@results.
+ *     them at * \a results and returns the number of items which were placed at
+ *     *\a results.
  *
  */
 unsigned int
  *
  */
 unsigned int
@@ -197,10 +197,10 @@ radix_tree_gang_lookup(struct radix_tree_root *root, void **results,
 
 /**
  *     radix_tree_lookup    -    perform lookup operation on a radix tree
 
 /**
  *     radix_tree_lookup    -    perform lookup operation on a radix tree
- *     @root:          radix tree root
- *     @index:         index key
+ *     \param root radix tree root
+ *     \param index index key
  *
  *
- *     Lookup the item at the position @index in the radix tree @root.
+ *     Lookup the item at the position \a index in the radix tree \a root.
  *
  */
 void *radix_tree_lookup(struct radix_tree_root *root, unsigned long index)
  *
  */
 void *radix_tree_lookup(struct radix_tree_root *root, unsigned long index)
@@ -218,11 +218,11 @@ void *radix_tree_lookup(struct radix_tree_root *root, unsigned long index)
 
 /**
  *     radix_tree_insert    -    insert into a radix tree
 
 /**
  *     radix_tree_insert    -    insert into a radix tree
- *     @root:          radix tree root
- *     @index:         index key
- *     @item:          item to insert
+ *     \param root radix tree root
+ *     \param index index key
+ *     \param item item to insert
  *
  *
- *     Insert an item into the radix tree at position @index.
+ *     Insert an item into the radix tree at position \a index.
  */
 int radix_tree_insert(struct radix_tree_root *root,
                        unsigned long index, void *item)
  */
 int radix_tree_insert(struct radix_tree_root *root,
                        unsigned long index, void *item)
@@ -236,10 +236,10 @@ int radix_tree_insert(struct radix_tree_root *root,
 
 /**
  *     radix_tree_delete    -    delete an item from a radix tree
 
 /**
  *     radix_tree_delete    -    delete an item from a radix tree
- *     @root:          radix tree root
- *     @index:         index key
+ *     \param root radix tree root
+ *     \param index index key
  *
  *
- *     Remove the item at @index from the radix tree rooted at @root.
+ *     Remove the item at \a index from the radix tree rooted at \a root.
  *
  *     Returns the address of the deleted item, or NULL if it was not present.
  */
  *
  *     Returns the address of the deleted item, or NULL if it was not present.
  */
@@ -247,4 +247,4 @@ void *radix_tree_delete(struct radix_tree_root *root, unsigned long index)
 {
     RadixDeleteElement(&root->table, index);
     return NULL;
 {
     RadixDeleteElement(&root->table, index);
     return NULL;
-}
\ No newline at end of file
+}
index 4dc6fee..84f8d39 100644 (file)
@@ -55,8 +55,8 @@ lnd_t the_kmxlnd = {
 kmx_data_t               kmxlnd_data;
 
 /**
 kmx_data_t               kmxlnd_data;
 
 /**
- * mxlnd_ctx_free - free ctx struct
- * @ctx - a kmx_peer pointer
+ * Free ctx struct
+ * \param ctx  a kmx_peer pointer
  *
  * The calling function should remove the ctx from the ctx list first
  * then free it.
  *
  * The calling function should remove the ctx from the ctx list first
  * then free it.
@@ -83,8 +83,8 @@ mxlnd_ctx_free(struct kmx_ctx *ctx)
 }
 
 /**
 }
 
 /**
- * mxlnd_ctx_alloc - allocate and initialize a new ctx struct
- * @ctxp - address of a kmx_ctx pointer
+ * Allocate and initialize a new ctx struct
+ * \param ctxp  address of a kmx_ctx pointer
  *
  * Returns 0 on success and -EINVAL, -ENOMEM on failure
  */
  *
  * Returns 0 on success and -EINVAL, -ENOMEM on failure
  */
@@ -127,8 +127,8 @@ failed:
 }
 
 /**
 }
 
 /**
- * mxlnd_ctx_init - reset ctx struct to the default values
- * @ctx - a kmx_ctx pointer
+ * Reset ctx struct to the default values
+ * \param ctx  a kmx_ctx pointer
  */
 void
 mxlnd_ctx_init(struct kmx_ctx *ctx)
  */
 void
 mxlnd_ctx_init(struct kmx_ctx *ctx)
@@ -180,7 +180,7 @@ mxlnd_ctx_init(struct kmx_ctx *ctx)
 }
 
 /**
 }
 
 /**
- * mxlnd_free_txs - free kmx_txs and associated pages
+ * Free kmx_txs and associated pages
  *
  * Called from mxlnd_shutdown()
  */
  *
  * Called from mxlnd_shutdown()
  */
@@ -198,7 +198,7 @@ mxlnd_free_txs(void)
 }
 
 /**
 }
 
 /**
- * mxlnd_init_txs - allocate tx descriptors then stash on txs and idle tx lists
+ * Allocate tx descriptors then stash on txs and idle tx lists
  *
  * Called from mxlnd_startup()
  * returns 0 on success, else -ENOMEM
  *
  * Called from mxlnd_startup()
  * returns 0 on success, else -ENOMEM
@@ -225,7 +225,7 @@ mxlnd_init_txs(void)
 }
 
 /**
 }
 
 /**
- * mxlnd_free_rxs - free initial kmx_rx descriptors and associated pages
+ * Free initial kmx_rx descriptors and associated pages
  *
  * Called from mxlnd_shutdown()
  */
  *
  * Called from mxlnd_shutdown()
  */
@@ -243,7 +243,7 @@ mxlnd_free_rxs(void)
 }
 
 /**
 }
 
 /**
- * mxlnd_init_rxs - allocate initial rx descriptors 
+ * Allocate initial rx descriptors 
  *
  * Called from startup(). We create MXLND_MAX_PEERS plus MXLND_NTX
  * rx descriptors. We create one for each potential peer to handle 
  *
  * Called from startup(). We create MXLND_MAX_PEERS plus MXLND_NTX
  * rx descriptors. We create one for each potential peer to handle 
@@ -274,7 +274,7 @@ mxlnd_init_rxs(void)
 }
 
 /**
 }
 
 /**
- * mxlnd_free_peers - free peers
+ * Free peers
  *
  * Called from mxlnd_shutdown()
  */
  *
  * Called from mxlnd_shutdown()
  */
@@ -295,8 +295,8 @@ mxlnd_free_peers(void)
 }
 
 /**
 }
 
 /**
- * mxlnd_init_mx - open the endpoint, set our ID, register the EAGER callback
- * @ni - the network interface
+ * Open the endpoint, set our ID, register the EAGER callback
+ * \param ni  the network interface
  *
  * Returns 0 on success, -1 on failure
  */
  *
  * Returns 0 on success, -1 on failure
  */
@@ -417,9 +417,9 @@ failed_with_init:
 
 
 /**
 
 
 /**
- * mxlnd_thread_start - spawn a kernel thread with this function
- * @fn - function pointer
- * @arg - pointer to the parameter data
+ * Spawn a kernel thread with this function
+ * \param fn  function pointer
+ * \param arg pointer to the parameter data
  *
  * Returns 0 on success and a negative value on failure
  */
  *
  * Returns 0 on success and a negative value on failure
  */
@@ -441,7 +441,7 @@ mxlnd_thread_start(int (*fn)(void *arg), void *arg)
 }
 
 /**
 }
 
 /**
- * mxlnd_thread_stop - decrement thread counter
+ * Decrement thread counter
  *
  * The thread returns 0 when it detects shutdown.
  * We are simply decrementing the thread counter.
  *
  * The thread returns 0 when it detects shutdown.
  * We are simply decrementing the thread counter.
@@ -455,8 +455,8 @@ mxlnd_thread_stop(long id)
 }
 
 /**
 }
 
 /**
- * mxlnd_shutdown - stop IO, clean up state
- * @ni - LNET interface handle
+ * Stop IO, clean up state
+ * \param ni LNET interface handle
  *
  * No calls to the LND should be made after calling this function.
  */
  *
  * No calls to the LND should be made after calling this function.
  */
@@ -563,8 +563,8 @@ mxlnd_shutdown (lnet_ni_t *ni)
 }
 
 /**
 }
 
 /**
- * mxlnd_startup - initialize state, open an endpoint, start IO
- * @ni - LNET interface handle
+ * Initialize state, open an endpoint, start IO
+ * \param ni LNET interface handle
  *
  * Initialize state, open an endpoint, start monitoring threads.
  * Should only be called once.
  *
  * Initialize state, open an endpoint, start monitoring threads.
  * Should only be called once.
index 56e59e7..3cfcf23 100644 (file)
@@ -470,8 +470,8 @@ extern int  mxlnd_timeoutd(void *arg);
 extern int  mxlnd_connd(void *arg);
 
 /**
 extern int  mxlnd_connd(void *arg);
 
 /**
- * mxlnd_nid_to_hash - hash the nid
- * @nid - LNET ID
+ * Hash the nid
+ * \param nid LNET ID
  *
  * Takes the u64 nid and XORs the lowest N bits by the next lowest N bits.
  */
  *
  * Takes the u64 nid and XORs the lowest N bits by the next lowest N bits.
  */
index 31da10a..14b49ed 100644 (file)
@@ -349,8 +349,8 @@ mxlnd_put_idle_tx(struct kmx_ctx *tx)
 }
 
 /**
 }
 
 /**
- * mxlnd_conn_free - free the conn
- * @conn - a kmx_conn pointer
+ * Free the conn
+ * \param conn a kmx_conn pointer
  *
  * The calling function should remove the conn from the conns list first
  * then destroy it.
  *
  * The calling function should remove the conn from the conns list first
  * then destroy it.
@@ -423,10 +423,10 @@ mxlnd_conn_cancel_pending_rxs(struct kmx_conn *conn)
 }
 
 /**
 }
 
 /**
- * mxlnd_conn_disconnect - shutdown a connection
- * @conn - a kmx_conn pointer
- * @mx_dis - call mx_disconnect()
- * @send_bye - send peer a BYE msg
+ * Shutdown a connection
+ * \param conn a kmx_conn pointer
+ * \param mx_dis call mx_disconnect()
+ * \param send_bye send peer a BYE msg
  *
  * This function sets the status to DISCONNECT, completes queued
  * txs with failure, calls mx_disconnect, which will complete
  *
  * This function sets the status to DISCONNECT, completes queued
  * txs with failure, calls mx_disconnect, which will complete
@@ -506,9 +506,9 @@ mxlnd_conn_disconnect(struct kmx_conn *conn, int mx_dis, int send_bye)
 }
 
 /**
 }
 
 /**
- * mxlnd_conn_alloc - allocate and initialize a new conn struct
- * @connp - address of a kmx_conn pointer
- * @peer - owning kmx_peer
+ * Allocate and initialize a new conn struct
+ * \param connp address of a kmx_conn pointer
+ * \param peer owning kmx_peer
  *
  * Returns 0 on success and -ENOMEM on failure
  */
  *
  * Returns 0 on success and -ENOMEM on failure
  */
@@ -620,8 +620,8 @@ mxlnd_deq_pending_ctx(struct kmx_ctx *ctx)
 }
 
 /**
 }
 
 /**
- * mxlnd_peer_free - free the peer
- * @peer - a kmx_peer pointer
+ * Free the peer
+ * \param peer a kmx_peer pointer
  *
  * The calling function should decrement the rxs, drain the tx queues and
  * remove the peer from the peers list first then destroy it.
  *
  * The calling function should decrement the rxs, drain the tx queues and
  * remove the peer from the peers list first then destroy it.
@@ -704,10 +704,9 @@ mxlnd_ip2nic_id(u32 ip, u64 *nic_id)
 }
 
 /**
 }
 
 /**
- * mxlnd_peer_alloc - allocate and initialize a new peer struct
- * @peerp - address of a kmx_peer pointer
- * @nid - LNET node id
- *
+ * Allocate and initialize a new peer struct
+ * \param peerp  address of a kmx_peer pointer
+ * \param nid  LNET node id
  * Returns 0 on success and -ENOMEM on failure
  */
 int
  * Returns 0 on success and -ENOMEM on failure
  */
 int
@@ -818,10 +817,10 @@ mxlnd_tx_requires_credit(struct kmx_ctx *tx)
 }
 
 /**
 }
 
 /**
- * mxlnd_init_msg - set type and number of bytes
- * @msg - msg pointer
- * @type - of message
- * @body_nob - bytes in msg body
+ * Set type and number of bytes
+ * \param msg  msg pointer
+ * \param type  of message
+ * \param body_nob  bytes in msg body
  */
 static inline void
 mxlnd_init_msg(kmx_msg_t *msg, u8 type, int body_nob)
  */
 static inline void
 mxlnd_init_msg(kmx_msg_t *msg, u8 type, int body_nob)
@@ -869,8 +868,8 @@ mxlnd_cksum (void *ptr, int nob)
 }
 
 /**
 }
 
 /**
- * mxlnd_pack_msg - complete msg info
- * @tx - msg to send
+ * Complete msg info
+ * \param tx  msg to send
  */
 static inline void
 mxlnd_pack_msg(struct kmx_ctx *tx)
  */
 static inline void
 mxlnd_pack_msg(struct kmx_ctx *tx)
@@ -1040,13 +1039,9 @@ mxlnd_unpack_msg(kmx_msg_t *msg, int nob)
 }
 
 /**
 }
 
 /**
- * mxlnd_recv_msg
- * @lntmsg - the LNET msg that this is continuing. If EAGER, then NULL.
- * @rx
- * @msg_type
- * @cookie
- * @length - length of incoming message
- * @pending - add to kmx_pending (0 is NO and 1 is YES)
+ * Receive a message
+ * \param lntmsg  the LNET msg that this is continuing. If EAGER, then NULL.
+ * \param length  length of incoming message
  *
  * The caller gets the rx and sets nid, peer and conn if known.
  *
  *
  * The caller gets the rx and sets nid, peer and conn if known.
  *
@@ -1084,13 +1079,12 @@ mxlnd_recv_msg(lnet_msg_t *lntmsg, struct kmx_ctx *rx, u8 msg_type, u64 cookie,
 
 
 /**
 
 
 /**
- * mxlnd_unexpected_recv - this is the callback function that will handle 
- *                         unexpected receives
- * @context - NULL, ignore
- * @source - the peer's mx_endpoint_addr_t
- * @match_value - the msg's bit, should be MXLND_MSG_EAGER
- * @length - length of incoming message
- * @data_if_available - ignore
+ * This is the callback function that will handle unexpected receives
+ * \param context  NULL, ignore
+ * \param source  the peer's mx_endpoint_addr_t
+ * \param match_value  the msg's bit, should be MXLND_MSG_EAGER
+ * \param length  length of incoming message
+ * \param data_if_available  ignore
  *
  * If it is an eager-sized msg, we will call recv_msg() with the actual
  * length. If it is a large message, we will call recv_msg() with a
  *
  * If it is an eager-sized msg, we will call recv_msg() with the actual
  * length. If it is a large message, we will call recv_msg() with a
@@ -1326,10 +1320,10 @@ mxlnd_close_matching_conns(lnet_nid_t nid)
 }
 
 /**
 }
 
 /**
- * mxlnd_ctl - modify MXLND parameters
- * @ni - LNET interface handle
- * @cmd - command to change
- * @arg - the ioctl data
+ * Modify MXLND parameters
+ * \param ni  LNET interface handle
+ * \param cmd command to change
+ * \param arg the ioctl data
  *
  * Not implemented yet.
  */
  *
  * Not implemented yet.
  */
@@ -1381,8 +1375,7 @@ mxlnd_ctl(lnet_ni_t *ni, unsigned int cmd, void *arg)
 }
 
 /**
 }
 
 /**
- * mxlnd_peer_queue_tx_locked - add the tx to the global tx queue
- * @tx
+ * Add the tx to the global tx queue
  *
  * Add the tx to the peer's msg or data queue. The caller has locked the peer.
  */
  *
  * Add the tx to the peer's msg or data queue. The caller has locked the peer.
  */
@@ -1425,8 +1418,7 @@ mxlnd_peer_queue_tx_locked(struct kmx_ctx *tx)
 }
 
 /**
 }
 
 /**
- * mxlnd_peer_queue_tx - add the tx to the global tx queue
- * @tx
+ * Add the tx to the global tx queue
  *
  * Add the tx to the peer's msg or data queue
  */
  *
  * Add the tx to the peer's msg or data queue
  */
@@ -1443,8 +1435,7 @@ mxlnd_peer_queue_tx(struct kmx_ctx *tx)
 }
 
 /**
 }
 
 /**
- * mxlnd_queue_tx - add the tx to the global tx queue
- * @tx
+ * Add the tx to the global tx queue
  *
  * Add the tx to the global queue and up the tx_queue_sem
  */
  *
  * Add the tx to the global queue and up the tx_queue_sem
  */
@@ -1643,12 +1634,7 @@ mxlnd_send_nak(struct kmx_ctx *tx, lnet_nid_t nid, int type, int status, __u64 c
 
 
 /**
 
 
 /**
- * mxlnd_send_data - get tx, map [k]iov, queue tx
- * @ni
- * @lntmsg
- * @peer
- * @msg_type
- * @cookie
+ * Get tx, map [k]iov, queue tx
  *
  * This setups the DATA send for PUT or GET.
  *
  *
  * This setups the DATA send for PUT or GET.
  *
@@ -1722,12 +1708,7 @@ failed_0:
 }
 
 /**
 }
 
 /**
- * mxlnd_recv_data - map [k]iov, post rx
- * @ni
- * @lntmsg
- * @rx
- * @msg_type
- * @cookie
+ * Map [k]iov, post rx
  *
  * This setups the DATA receive for PUT or GET.
  *
  *
  * This setups the DATA receive for PUT or GET.
  *
@@ -1814,10 +1795,7 @@ mxlnd_recv_data(lnet_ni_t *ni, lnet_msg_t *lntmsg, struct kmx_ctx *rx, u8 msg_ty
 }
 
 /**
 }
 
 /**
- * mxlnd_send - the LND required send function
- * @ni
- * @private
- * @lntmsg
+ * The LND required send function
  *
  * This must not block. Since we may not have a peer struct for the receiver,
  * it will append send messages on a global tx list. We will then up the
  *
  * This must not block. Since we may not have a peer struct for the receiver,
  * it will append send messages on a global tx list. We will then up the
@@ -2052,16 +2030,7 @@ mxlnd_send(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg)
 }
 
 /**
 }
 
 /**
- * mxlnd_recv - the LND required recv function
- * @ni
- * @private
- * @lntmsg
- * @delayed
- * @niov
- * @kiov
- * @offset
- * @mlen
- * @rlen
+ * The LND required recv function
  *
  * This must not block.
  */
  *
  * This must not block.
  */
@@ -2249,8 +2218,8 @@ mxlnd_sleep(unsigned long timeout)
 }
 
 /**
 }
 
 /**
- * mxlnd_tx_queued - the generic send queue thread
- * @arg - thread id (as a void *)
+ * The generic send queue thread
+ * \param arg  thread id (as a void *)
  *
  * This thread moves send messages from the global tx_queue to the owning
  * peer's tx_[msg|data]_queue. If the peer does not exist, it creates one and adds
  *
  * This thread moves send messages from the global tx_queue to the owning
  * peer's tx_[msg|data]_queue. If the peer does not exist, it creates one and adds
@@ -2753,9 +2722,9 @@ done:
 
 
 /**
 
 
 /**
- * mxlnd_handle_tx_completion - a tx completed, progress or complete the msg
- * @ctx - the tx descriptor
- *
+ * A tx completed, progress or complete the msg
+ * \param tx  the tx descriptor
+ * 
  * Determine which type of send request it was and start the next step, if needed,
  * or, if done, signal completion to LNET. After we are done, put back on the
  * idle tx list.
  * Determine which type of send request it was and start the next step, if needed,
  * or, if done, signal completion to LNET. After we are done, put back on the
  * idle tx list.
@@ -3443,8 +3412,8 @@ mxlnd_handle_conn_ack(struct kmx_peer *peer, mx_status_t status)
 }
 
 /**
 }
 
 /**
- * mxlnd_request_waitd - the MX request completion thread(s)
- * @arg - thread id (as a void *)
+ * The MX request completion thread(s)
+ * \param arg  thread id (as a void *)
  *
  * This thread waits for a MX completion and then completes the request.
  * We will create one thread per CPU.
  *
  * This thread waits for a MX completion and then completes the request.
  * We will create one thread per CPU.
@@ -3634,8 +3603,8 @@ mxlnd_check_timeouts(unsigned long now)
 }
 
 /**
 }
 
 /**
- * mxlnd_timeoutd - enforces timeouts on messages
- * @arg - thread id (as a void *)
+ * Enforces timeouts on messages
+ * \param arg  thread id (as a void *)
  *
  * This thread queries each peer for its earliest timeout. If a peer has timed out,
  * it calls mxlnd_conn_disconnect().
  *
  * This thread queries each peer for its earliest timeout. If a peer has timed out,
  * it calls mxlnd_conn_disconnect().
index 6b50b16..2c93de3 100644 (file)
@@ -94,7 +94,7 @@ struct fld_cache {
         int                      fci_cache_size;
 
         /**
         int                      fci_cache_size;
 
         /**
-         * Current number of cached entries. Protected by @fci_lock */
+         * Current number of cached entries. Protected by \a fci_lock */
         int                      fci_cache_count;
 
         /**
         int                      fci_cache_count;
 
         /**
index 734d0f9..51daf11 100644 (file)
@@ -862,7 +862,7 @@ struct cl_page_operations {
                              const struct cl_page_slice *slice,
                              struct cl_io *io);
         /**
                              const struct cl_page_slice *slice,
                              struct cl_io *io);
         /**
-         * Announces whether the page contains valid data or not by @uptodate.
+         * Announces whether the page contains valid data or not by \a uptodate.
          *
          * \see cl_page_export()
          * \see vvp_page_export()
          *
          * \see cl_page_export()
          * \see vvp_page_export()
@@ -1804,7 +1804,7 @@ struct cl_page_list {
         cfs_task_t      *pl_owner;
 };
 
         cfs_task_t      *pl_owner;
 };
 
-/** \addtogroup cl_page_list cl_page_list
+/** 
  * A 2-queue of pages. A convenience data-type for common use case, 2-queue
  * contains an incoming page list and an outgoing page list.
  */
  * A 2-queue of pages. A convenience data-type for common use case, 2-queue
  * contains an incoming page list and an outgoing page list.
  */
index 73fe7af..7e1f826 100644 (file)
@@ -847,11 +847,10 @@ void lu_object_header_print(const struct lu_env *env, void *cookie,
  */
 int lu_object_invariant(const struct lu_object *o);
 
  */
 int lu_object_invariant(const struct lu_object *o);
 
-void lu_stack_fini(const struct lu_env *env, struct lu_device *top);
 
 /**
 
 /**
- * Returns 1 iff object @o exists on the stable storage,
- * returns -1 iff object @o is on remote server.
+ * \retval  1 iff object \a o exists on stable storage,
+ * \retval -1 iff object \a o is on remote server.
  */
 static inline int lu_object_exists(const struct lu_object *o)
 {
  */
 static inline int lu_object_exists(const struct lu_object *o)
 {
index 9edf487..c4ec9da 100644 (file)
@@ -457,13 +457,13 @@ struct ldlm_namespace {
         ldlm_appetite_t        ns_appetite;
 
         /**
         ldlm_appetite_t        ns_appetite;
 
         /**
-         * If more than @ns_contented_locks found, the resource considered
-         * as contended.
+         * If more than \a ns_contended_locks found, the resource is considered
+         * to be contended.
          */
         unsigned               ns_contended_locks;
 
         /**
          */
         unsigned               ns_contended_locks;
 
         /**
-         * The resource remembers contended state during @ns_contention_time,
+         * The resource remembers contended state during \a ns_contention_time,
          * in seconds.
          */
         unsigned               ns_contention_time;
          * in seconds.
          */
         unsigned               ns_contention_time;
index a6ad3ab..7d0729e 100644 (file)
 #define CRCPOLY_LE 0xedb88320
 /**
  * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
 #define CRCPOLY_LE 0xedb88320
 /**
  * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
- * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
- *        other uses, or the previous crc32 value if computing incrementally.
- * @p   - pointer to buffer over which CRC is run
- * @len - length of buffer @p
+ * \param crc  seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *             other uses, or the previous crc32 value if computing incrementally.
+ * \param p  - pointer to buffer over which CRC is run
+ * \param len- length of buffer \a p
  */
 static inline __u32 crc32_le(__u32 crc, unsigned char const *p, size_t len)
 {
  */
 static inline __u32 crc32_le(__u32 crc, unsigned char const *p, size_t len)
 {
index d2a4d18..a66d91d 100644 (file)
@@ -601,7 +601,6 @@ int ccc_lock_wait(const struct lu_env *env, const struct cl_lock_slice *slice)
  * cached lock "fits" into io.
  *
  * \param slice lock to be checked
  * cached lock "fits" into io.
  *
  * \param slice lock to be checked
- *
  * \param io    IO that wants a lock.
  *
  * \see lov_lock_fits_into().
  * \param io    IO that wants a lock.
  *
  * \see lov_lock_fits_into().
index 46ff280..b3b2cb1 100644 (file)
@@ -71,10 +71,10 @@ int ldlm_flock_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
 /**
  * list_for_remaining_safe - iterate over the remaining entries in a list
  *              and safeguard against removal of a list entry.
 /**
  * list_for_remaining_safe - iterate over the remaining entries in a list
  *              and safeguard against removal of a list entry.
- * @pos:        the &struct list_head to use as a loop counter. pos MUST
+ * \param pos   the &struct list_head to use as a loop counter. pos MUST
  *              have been initialized prior to using it in this macro.
  *              have been initialized prior to using it in this macro.
- * @n:          another &struct list_head to use as temporary storage
- * @head:       the head for your list.
+ * \param n     another &struct list_head to use as temporary storage
+ * \param head  the head for your list.
  */
 #define list_for_remaining_safe(pos, n, head) \
         for (n = pos->next; pos != (head); pos = n, n = pos->next)
  */
 #define list_for_remaining_safe(pos, n, head) \
         for (n = pos->next; pos != (head); pos = n, n = pos->next)
index 52ba057..417afc2 100644 (file)
@@ -953,7 +953,7 @@ enum {
          */
         LS_FIRST_DE,
         /**
          */
         LS_FIRST_DE,
         /**
-         * the first hidden dirent, that is ".xxx
+         * the first hidden dirent, that is ".
          */
         LS_FIRST_DOT_DE
 };
          */
         LS_FIRST_DOT_DE
 };
index 2311f4e..55f4807 100644 (file)
@@ -54,7 +54,7 @@ struct lmv_stripe {
          */
         struct lu_fid           ls_fid;
         /**
          */
         struct lu_fid           ls_fid;
         /**
-         * Cached home mds number for @li_fid.
+         * Cached home mds number for \a li_fid.
          */
         mdsno_t                 ls_mds;
         /**
          */
         mdsno_t                 ls_mds;
         /**
index 8da51aa..5401f6b 100644 (file)
@@ -55,8 +55,6 @@
 #include <cl_object.h>
 #include "lov_internal.h"
 
 #include <cl_object.h>
 #include "lov_internal.h"
 
-/** \addtogroup lov lov @{ */
-
 /** \defgroup lov lov
  * Logical object volume layer. This layer implements data striping (raid0).
  *
 /** \defgroup lov lov
  * Logical object volume layer. This layer implements data striping (raid0).
  *
index 5a42643..783daca 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 static void lov_sub_enter(struct lov_io_sub *sub)
 {
 
 static void lov_sub_enter(struct lov_io_sub *sub)
 {
index 58433c4..157ee7d 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 static struct cl_lock_closure *lov_closure_get(const struct lu_env *env,
                                                struct cl_lock *parent);
 
 static struct cl_lock_closure *lov_closure_get(const struct lu_env *env,
                                                struct cl_lock *parent);
index 20abe46..6a1bfc7 100644 (file)
@@ -121,7 +121,7 @@ int lov_merge_lvb_kms(struct lov_stripe_md *lsm,
  * current atime, mtime, ctime to avoid regressing a more uptodate time on
  * the local client.
  *
  * current atime, mtime, ctime to avoid regressing a more uptodate time on
  * the local client.
  *
- * If @kms_only is set then we do not consider the recently seen size (rss)
+ * If \a kms_only is set then we do not consider the recently seen size (rss)
  * when updating the known minimum size (kms).  Even when merging RSS, we will
  * take the KMS value if it's larger.  This prevents getattr from stomping on
  * dirty cached pages which extend the file size. */
  * when updating the known minimum size (kms).  Even when merging RSS, we will
  * take the KMS value if it's larger.  This prevents getattr from stomping on
  * dirty cached pages which extend the file size. */
index a2bbad1..5886885 100644 (file)
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
-/** \addtogroup lov lov @{ */
-
 #define DEBUG_SUBSYSTEM S_LOV
 
 #include "lov_cl_internal.h"
 
 #define DEBUG_SUBSYSTEM S_LOV
 
 #include "lov_cl_internal.h"
 
+/** \addtogroup lov
+ *  @{
+ */
+
 /*****************************************************************************
  *
  * Layout operations.
 /*****************************************************************************
  *
  * Layout operations.
index 5c449a0..4609de2 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
index f3ba099..ce76771 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
index d8cfe0e..58007e6 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
index 48d788a..c97cb35 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
index e8097e1..3774df9 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
index ff67397..b1ec30f 100644 (file)
@@ -42,7 +42,9 @@
 
 #include "lov_cl_internal.h"
 
 
 #include "lov_cl_internal.h"
 
-/** \addtogroup lov lov @{ */
+/** \addtogroup lov
+ *  @{
+ */
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
index de02595..c9dff6d 100644 (file)
@@ -501,7 +501,7 @@ int __mdd_orphan_cleanup(const struct lu_env *env, struct mdd_device *d)
  *  \pre obj nlink == 0 && obj->mod_count != 0
  *
  *  \retval 0  success
  *  \pre obj nlink == 0 && obj->mod_count != 0
  *
  *  \retval 0  success
- *  \retva  -ve index operation error.
+ *  \retval  -ve index operation error.
  */
 
 int __mdd_orphan_add(const struct lu_env *env,
  */
 
 int __mdd_orphan_add(const struct lu_env *env,
@@ -518,7 +518,7 @@ int __mdd_orphan_add(const struct lu_env *env,
  *  \pre obj->mod_count == 0 && ORPHAN_OBJ is set for obj.
  *
  *  \retval 0  success
  *  \pre obj->mod_count == 0 && ORPHAN_OBJ is set for obj.
  *
  *  \retval 0  success
- *  \retva  -ve index operation error.
+ *  \retval  -ve index operation error.
  */
 
 int __mdd_orphan_del(const struct lu_env *env,
  */
 
 int __mdd_orphan_del(const struct lu_env *env,
index 8d24afe..fbaf0fe 100644 (file)
@@ -2302,7 +2302,7 @@ void mdt_save_lock(struct mdt_thread_info *info, struct lustre_handle *h,
  *
  * \param info thread info object
  * \param o mdt object
  *
  * \param info thread info object
  * \param o mdt object
- * \param h mdt lock handle referencing regular and PDO locks
+ * \param lh mdt lock handle referencing regular and PDO locks
  * \param decref force immediate lock releasing
  */
 void mdt_object_unlock(struct mdt_thread_info *info, struct mdt_object *o,
  * \param decref force immediate lock releasing
  */
 void mdt_object_unlock(struct mdt_thread_info *info, struct mdt_object *o,
index 676ffac..0b15d63 100644 (file)
@@ -862,7 +862,7 @@ EXPORT_SYMBOL(cl_io_submit_rw);
 
 /**
  * Submit a sync_io and wait for the IO to be finished, or error happens.
 
 /**
  * Submit a sync_io and wait for the IO to be finished, or error happens.
- * If @timeout is zero, it means to wait for the IO unconditionally.
+ * If \a timeout is zero, it means to wait for the IO unconditionally.
  */
 int cl_io_submit_sync(const struct lu_env *env, struct cl_io *io,
                       enum cl_req_type iot, struct cl_2queue *queue,
  */
 int cl_io_submit_sync(const struct lu_env *env, struct cl_io *io,
                       enum cl_req_type iot, struct cl_2queue *queue,
index d049754..a0b6d23 100644 (file)
@@ -1165,7 +1165,7 @@ EXPORT_SYMBOL(cl_enqueue);
  * This function is called repeatedly by cl_unuse() until either lock is
  * unlocked, or error occurs.
  *
  * This function is called repeatedly by cl_unuse() until either lock is
  * unlocked, or error occurs.
  *
- * \ppre lock->cll_state <= CLS_HELD || lock->cll_state == CLS_UNLOCKING
+ * \pre  lock->cll_state <= CLS_HELD || lock->cll_state == CLS_UNLOCKING
  *
  * \post ergo(result == 0, lock->cll_state == CLS_CACHED)
  *
  *
  * \post ergo(result == 0, lock->cll_state == CLS_CACHED)
  *
index bbca002..b338851 100644 (file)
@@ -179,7 +179,7 @@ struct cl_page *cl_page_lookup(struct cl_object_header *hdr, pgoff_t index)
 EXPORT_SYMBOL(cl_page_lookup);
 
 /**
 EXPORT_SYMBOL(cl_page_lookup);
 
 /**
- * Returns a list of pages by a given [start, end] of @obj.
+ * Returns a list of pages by a given [start, end] of \a obj.
  *
  * Gang tree lookup (radix_tree_gang_lookup()) optimization is absolutely
  * crucial in the face of [offset, EOF] locks.
  *
  * Gang tree lookup (radix_tree_gang_lookup()) optimization is absolutely
  * crucial in the face of [offset, EOF] locks.
@@ -1192,7 +1192,7 @@ EXPORT_SYMBOL(cl_page_unmap);
  *
  * Call cl_page_operations::cpo_export() through all layers top-to-bottom. The
  * layer responsible for VM interaction has to mark/clear page as up-to-date
  *
  * Call cl_page_operations::cpo_export() through all layers top-to-bottom. The
  * layer responsible for VM interaction has to mark/clear page as up-to-date
- * by the @uptodate argument.
+ * by the \a uptodate argument.
  *
  * \see cl_page_operations::cpo_export()
  */
  *
  * \see cl_page_operations::cpo_export()
  */
index 5370a4e..bd7bb05 100644 (file)
 
 /**
  * Initialize new lustre hash, where:
 
 /**
  * Initialize new lustre hash, where:
- * @name     - Descriptive hash name
- * @cur_bits - Initial hash table size, in bits
- * @max_bits - Maximum allowed hash table resize, in bits
- * @ops      - Registered hash table operations
- * @flags    - LH_REHASH enable synamic hash resizing
- *           - LH_SORT enable chained hash sort
+ * \param name Descriptive hash name
+ * \param cur_bits Initial hash table size, in bits
+ * \param max_bits Maximum allowed hash table resize, in bits
+ * \param ops Registered hash table operations
+ * \param flags LH_REHASH enables dynamic hash resizing
+ *              LH_SORT enables chained hash sort
  */
 lustre_hash_t *
 lustre_hash_init(char *name, unsigned int cur_bits, unsigned int max_bits,
  */
 lustre_hash_t *
 lustre_hash_init(char *name, unsigned int cur_bits, unsigned int max_bits,
@@ -119,7 +119,7 @@ lustre_hash_init(char *name, unsigned int cur_bits, unsigned int max_bits,
 EXPORT_SYMBOL(lustre_hash_init);
 
 /**
 EXPORT_SYMBOL(lustre_hash_init);
 
 /**
- * Cleanup lustre hash @lh.
+ * Cleanup lustre hash \a lh.
  */
 void
 lustre_hash_exit(lustre_hash_t *lh)
  */
 void
 lustre_hash_exit(lustre_hash_t *lh)
@@ -175,7 +175,7 @@ static inline unsigned int lustre_hash_rehash_bits(lustre_hash_t *lh)
 }
 
 /**
 }
 
 /**
- * Add item @hnode to lustre hash @lh using @key.  The registered
+ * Add item \a hnode to lustre hash \a lh using \a key.  The registered
  * ops->lh_get function will be called when the item is added.
  */
 void
  * ops->lh_get function will be called when the item is added.
  */
 void
@@ -243,7 +243,7 @@ lustre_hash_findadd_unique_hnode(lustre_hash_t *lh, void *key,
 }
 
 /**
 }
 
 /**
- * Add item @hnode to lustre hash @lh using @key.  The registered
+ * Add item \a hnode to lustre hash \a lh using \a key.  The registered
  * ops->lh_get function will be called if the item was added.
  * Returns 0 on success or -EALREADY on key collisions.
  */
  * ops->lh_get function will be called if the item was added.
  * Returns 0 on success or -EALREADY on key collisions.
  */
@@ -263,7 +263,7 @@ lustre_hash_add_unique(lustre_hash_t *lh, void *key, struct hlist_node *hnode)
 EXPORT_SYMBOL(lustre_hash_add_unique);
 
 /**
 EXPORT_SYMBOL(lustre_hash_add_unique);
 
 /**
- * Add item @hnode to lustre hash @lh using @key.  If this @key
+ * Add item \a hnode to lustre hash \a lh using \a key.  If this \a key
  * already exists in the hash then ops->lh_get will be called on the
  * conflicting entry and that entry will be returned to the caller.
  * Otherwise ops->lh_get is called on the item which was added.
  * already exists in the hash then ops->lh_get will be called on the
  * conflicting entry and that entry will be returned to the caller.
  * Otherwise ops->lh_get is called on the item which was added.
@@ -284,7 +284,7 @@ lustre_hash_findadd_unique(lustre_hash_t *lh, void *key,
 EXPORT_SYMBOL(lustre_hash_findadd_unique);
 
 /**
 EXPORT_SYMBOL(lustre_hash_findadd_unique);
 
 /**
- * Delete item @hnode from the lustre hash @lh using @key.  The @key
+ * Delete item \a hnode from the lustre hash \a lh using \a key.  The \a key
  * is required to ensure the correct hash bucket is locked since there
  * is no direct linkage from the item to the bucket.  The object
  * removed from the hash will be returned and obs->lh_put is called
  * is required to ensure the correct hash bucket is locked since there
  * is no direct linkage from the item to the bucket.  The object
  * removed from the hash will be returned and obs->lh_put is called
@@ -316,9 +316,9 @@ lustre_hash_del(lustre_hash_t *lh, void *key, struct hlist_node *hnode)
 EXPORT_SYMBOL(lustre_hash_del);
 
 /**
 EXPORT_SYMBOL(lustre_hash_del);
 
 /**
- * Delete item given @key in lustre hash @lh.  The first @key found in
+ * Delete item given \a key in lustre hash \a lh.  The first \a key found in
  * the hash will be removed, if the key exists multiple times in the hash
  * the hash will be removed, if the key exists multiple times in the hash
- * @lh this function must be called once per key.  The removed object
+ * \a lh this function must be called once per key.  The removed object
  * will be returned and ops->lh_put is called on the removed object.
  */
 void *
  * will be returned and ops->lh_put is called on the removed object.
  */
 void *
@@ -348,12 +348,12 @@ lustre_hash_del_key(lustre_hash_t *lh, void *key)
 EXPORT_SYMBOL(lustre_hash_del_key);
 
 /**
 EXPORT_SYMBOL(lustre_hash_del_key);
 
 /**
- * Lookup an item using @key in the lustre hash @lh and return it.
- * If the @key is found in the hash lh->lh_get() is called and the
+ * Lookup an item using \a key in the lustre hash \a lh and return it.
+ * If the \a key is found in the hash lh->lh_get() is called and the
  * matching objects is returned.  It is the callers responsibility
  * to call the counterpart ops->lh_put using the lh_put() macro
  * matching objects is returned.  It is the callers responsibility
  * to call the counterpart ops->lh_put using the lh_put() macro
- * when when finished with the object.  If the @key was not found
- * in the hash @lh NULL is returned.
+ * when when finished with the object.  If the \a key was not found
+ * in the hash \a lh NULL is returned.
  */
 void *
 lustre_hash_lookup(lustre_hash_t *lh, void *key)
  */
 void *
 lustre_hash_lookup(lustre_hash_t *lh, void *key)
@@ -382,8 +382,8 @@ lustre_hash_lookup(lustre_hash_t *lh, void *key)
 EXPORT_SYMBOL(lustre_hash_lookup);
 
 /**
 EXPORT_SYMBOL(lustre_hash_lookup);
 
 /**
- * For each item in the lustre hash @lh call the passed callback @func
- * and pass to it as an argument each hash item and the private @data.
+ * For each item in the lustre hash \a lh call the passed callback \a func
+ * and pass to it as an argument each hash item and the private \a data.
  * Before each callback ops->lh_get will be called, and after each
  * callback ops->lh_put will be called.  Finally, during the callback
  * the bucket lock is held so the callback must never sleep.
  * Before each callback ops->lh_get will be called, and after each
  * callback ops->lh_put will be called.  Finally, during the callback
  * the bucket lock is held so the callback must never sleep.
@@ -415,8 +415,8 @@ lustre_hash_for_each(lustre_hash_t *lh, lh_for_each_cb func, void *data)
 EXPORT_SYMBOL(lustre_hash_for_each);
 
 /**
 EXPORT_SYMBOL(lustre_hash_for_each);
 
 /**
- * For each item in the lustre hash @lh call the passed callback @func
- * and pass to it as an argument each hash item and the private @data.
+ * For each item in the lustre hash \a lh call the passed callback \a func
+ * and pass to it as an argument each hash item and the private \a data.
  * Before each callback ops->lh_get will be called, and after each
  * callback ops->lh_put will be called.  During the callback the
  * bucket lock will not be held will allows for the current item
  * Before each callback ops->lh_get will be called, and after each
  * callback ops->lh_put will be called.  During the callback the
  * bucket lock will not be held will allows for the current item
@@ -453,11 +453,11 @@ lustre_hash_for_each_safe(lustre_hash_t *lh, lh_for_each_cb func, void *data)
 EXPORT_SYMBOL(lustre_hash_for_each_safe);
 
 /**
 EXPORT_SYMBOL(lustre_hash_for_each_safe);
 
 /**
- * For each hash bucket in the lustre hash @lh call the passed callback
- * @func until all the hash buckets are empty.  The passed callback @func
+ * For each hash bucket in the lustre hash \a lh call the passed callback
+ * \a func until all the hash buckets are empty.  The passed callback \a func
  * or the previously registered callback lh->lh_put must remove the item
  * from the hash.  You may either use the lustre_hash_del() or hlist_del()
  * or the previously registered callback lh->lh_put must remove the item
  * from the hash.  You may either use the lustre_hash_del() or hlist_del()
- * functions.  No rwlocks will be held during the callback @func it is
+ * functions.  No rwlocks will be held during the callback \a func it is
  * safe to sleep if needed.  This function will not terminate until the
  * hash is empty.  Note it is still possible to concurrently add new
  * items in to the hash.  It is the callers responsibility to ensure
  * safe to sleep if needed.  This function will not terminate until the
  * hash is empty.  Note it is still possible to concurrently add new
  * items in to the hash.  It is the callers responsibility to ensure
@@ -494,9 +494,9 @@ restart:
 EXPORT_SYMBOL(lustre_hash_for_each_empty);
 
 /*
 EXPORT_SYMBOL(lustre_hash_for_each_empty);
 
 /*
- * For each item in the lustre hash @lh which matches the @key call
- * the passed callback @func and pass to it as an argument each hash
- * item and the private @data.  Before each callback ops->lh_get will
+ * For each item in the lustre hash \a lh which matches the \a key call
+ * the passed callback \a func and pass to it as an argument each hash
+ * item and the private \a data.  Before each callback ops->lh_get will
  * be called, and after each callback ops->lh_put will be called.
  * Finally, during the callback the bucket lock is held so the
  * callback must never sleep.
  * be called, and after each callback ops->lh_put will be called.
  * Finally, during the callback the bucket lock is held so the
  * callback must never sleep.
@@ -534,15 +534,15 @@ lustre_hash_for_each_key(lustre_hash_t *lh, void *key,
 EXPORT_SYMBOL(lustre_hash_for_each_key);
 
 /**
 EXPORT_SYMBOL(lustre_hash_for_each_key);
 
 /**
- * Rehash the lustre hash @lh to the given @bits.  This can be used
+ * Rehash the lustre hash \a lh to the given \a bits.  This can be used
  * to grow the hash size when excessive chaining is detected, or to
  * shrink the hash when it is larger than needed.  When the LH_REHASH
  * to grow the hash size when excessive chaining is detected, or to
  * shrink the hash when it is larger than needed.  When the LH_REHASH
- * flag is set in @lh the lustre hash may be dynamically rehashed
+ * flag is set in \a lh the lustre hash may be dynamically rehashed
  * during addition or removal if the hash's theta value exceeds
  * either the lh->lh_min_theta or lh->max_theta values.  By default
  * these values are tuned to keep the chained hash depth small, and
  * this approach assumes a reasonably uniform hashing function.  The
  * during addition or removal if the hash's theta value exceeds
  * either the lh->lh_min_theta or lh->max_theta values.  By default
  * these values are tuned to keep the chained hash depth small, and
  * this approach assumes a reasonably uniform hashing function.  The
- * theta thresholds for @lh are tunable via lustre_hash_set_theta().
+ * theta thresholds for \a lh are tunable via lustre_hash_set_theta().
  */
 int
 lustre_hash_rehash(lustre_hash_t *lh, int bits)
  */
 int
 lustre_hash_rehash(lustre_hash_t *lh, int bits)
@@ -638,9 +638,9 @@ lustre_hash_rehash(lustre_hash_t *lh, int bits)
 EXPORT_SYMBOL(lustre_hash_rehash);
 
 /**
 EXPORT_SYMBOL(lustre_hash_rehash);
 
 /**
- * Rehash the object referenced by @hnode in the lustre hash @lh.  The
- * @old_key must be provided to locate the objects previous location
- * in the hash, and the @new_key will be used to reinsert the object.
+ * Rehash the object referenced by \a hnode in the lustre hash \a lh.  The
+ * \a old_key must be provided to locate the objects previous location
+ * in the hash, and the \a new_key will be used to reinsert the object.
  * Use this function instead of a lustre_hash_add() + lustre_hash_del()
  * combo when it is critical that there is no window in time where the
  * object is missing from the hash.  When an object is being rehashed
  * Use this function instead of a lustre_hash_add() + lustre_hash_del()
  * combo when it is critical that there is no window in time where the
  * object is missing from the hash.  When an object is being rehashed
index 4055de6..7b67818 100644 (file)
@@ -262,8 +262,8 @@ int class_unregister_type(const char *name)
  *
  * Find an empty slot in ::obd_devs[], create a new obd device in it.
  *
  *
  * Find an empty slot in ::obd_devs[], create a new obd device in it.
  *
- * \param typename [in] obd device type string.
- * \param name     [in] obd device name.
+ * \param[in] type_name obd device type string.
+ * \param[in] name      obd device name.
  *
  * \retval NULL if create fails, otherwise return the obd device
  *         pointer created.
  *
  * \retval NULL if create fails, otherwise return the obd device
  *         pointer created.
@@ -542,7 +542,7 @@ struct obd_device * class_devices_in_group(struct obd_uuid *grp_uuid, int *next)
 }
 
 /**
 }
 
 /**
- * to notify sptlrpc log for @fsname has changed, let every relevant OBD
+ * to notify sptlrpc log for \a fsname has changed, let every relevant OBD
  * adjust sptlrpc settings accordingly.
  */
 int class_notify_sptlrpc_conf(const char *fsname, int namelen)
  * adjust sptlrpc settings accordingly.
  */
 int class_notify_sptlrpc_conf(const char *fsname, int namelen)
index 1372e2c..e12841e 100644 (file)
@@ -318,7 +318,7 @@ static struct md_object *llo_create_obj(const struct lu_env *env,
  * special index defined by \a feat in \a directory.
  *
  *       \param  md       device
  * special index defined by \a feat in \a directory.
  *
  *       \param  md       device
- *       \param  dir      parent directory
+ *       \param  dirname  parent directory
  *       \param  objname  file name
  *       \param  fid      object fid
  *       \param  feat     index features required for directory create
  *       \param  objname  file name
  *       \param  fid      object fid
  *       \param  feat     index features required for directory create
@@ -353,7 +353,7 @@ EXPORT_SYMBOL(llo_store_create_index);
  * Create md object for regular file in \a directory.
  *
  *       \param  md       device
  * Create md object for regular file in \a directory.
  *
  *       \param  md       device
- *       \param  dir      parent directory
+ *       \param  dirname  parent directory
  *       \param  objname  file name
  *       \param  fid      object fid.
  */
  *       \param  objname  file name
  *       \param  fid      object fid.
  */
index cd61720..3fcfdbc 100644 (file)
 
 #include "echo_internal.h"
 
 
 #include "echo_internal.h"
 
+/** \defgroup echo_client Echo Client
+ * @{
+ */
+
 struct echo_device {
         struct cl_device        ed_cl;
         struct echo_client_obd *ed_ec;
 struct echo_device {
         struct cl_device        ed_cl;
         struct echo_client_obd *ed_ec;
@@ -103,7 +107,7 @@ static int echo_client_setup(struct obd_device *obddev,
 static int echo_client_cleanup(struct obd_device *obddev);
 
 
 static int echo_client_cleanup(struct obd_device *obddev);
 
 
-/** \defgroup echo_helpers
+/** \defgroup echo_helpers Helper functions
  * @{
  */
 static inline struct echo_device *cl2echo_dev(const struct cl_device *dev)
  * @{
  */
 static inline struct echo_device *cl2echo_dev(const struct cl_device *dev)
@@ -240,7 +244,7 @@ static struct lu_kmem_descr echo_caches[] = {
         }
 };
 
         }
 };
 
-/** defgroup echo_page echo_page
+/** \defgroup echo_page Page operations
  *
  * Echo page operations.
  *
  *
  * Echo page operations.
  *
@@ -323,7 +327,7 @@ static const struct cl_page_operations echo_page_ops = {
 };
 /** @} echo_page */
 
 };
 /** @} echo_page */
 
-/** \defgroup echo_lock echo_lock
+/** \defgroup echo_lock Locking
  *
  * echo lock operations
  *
  *
  * echo lock operations
  *
@@ -362,7 +366,7 @@ static struct cl_lock_operations echo_lock_ops = {
 
 /** @} echo_lock */
 
 
 /** @} echo_lock */
 
-/** \defgroup echo_cl_ops echo_cl_ops
+/** \defgroup echo_cl_ops cl_object operations
  *
  * operations for cl_object
  *
  *
  * operations for cl_object
  *
@@ -422,7 +426,7 @@ static const struct cl_object_operations echo_cl_obj_ops = {
 };
 /** @} echo_cl_ops */
 
 };
 /** @} echo_cl_ops */
 
-/** \defgroup echo_lu_ops echo_lu_ops
+/** \defgroup echo_lu_ops lu_object operations
  *
  * operations for echo lu object.
  *
  *
  * operations for echo lu object.
  *
@@ -506,15 +510,15 @@ static const struct lu_object_operations echo_lu_obj_ops = {
 };
 /** @} echo_lu_ops */
 
 };
 /** @} echo_lu_ops */
 
-/** \defgroup echo_lu_dev_ops
+/** \defgroup echo_lu_dev_ops  lu_device operations
  *
  * Operations for echo lu device.
  *
  * @{
  */
 static struct lu_object *echo_object_alloc(const struct lu_env *env,
  *
  * Operations for echo lu device.
  *
  * @{
  */
 static struct lu_object *echo_object_alloc(const struct lu_env *env,
-                                         const struct lu_object_header *hdr,
-                                         struct lu_device *dev)
+                                           const struct lu_object_header *hdr,
+                                           struct lu_device *dev)
 {
         struct echo_object *eco;
         struct lu_object *obj = NULL;
 {
         struct echo_object *eco;
         struct lu_object *obj = NULL;
@@ -545,7 +549,7 @@ static struct lu_device_operations echo_device_lu_ops = {
 static struct cl_device_operations echo_device_cl_ops = {
 };
 
 static struct cl_device_operations echo_device_cl_ops = {
 };
 
-/** \defgroup echo_init echo_init
+/** \defgroup echo_init Setup and teardown
  *
  * Init and fini functions for echo client.
  *
  *
  * Init and fini functions for echo client.
  *
@@ -860,7 +864,7 @@ static struct lu_device_type echo_device_type = {
 };
 /** @} echo_init */
 
 };
 /** @} echo_init */
 
-/** \defgroup echo_exports
+/** \defgroup echo_exports Exported operations
  *
  * exporting functions to echo client
  *
  *
  * exporting functions to echo client
  *
@@ -2033,3 +2037,4 @@ void echo_client_exit(void)
         lu_kmem_fini(echo_caches);
 }
 
         lu_kmem_fini(echo_caches);
 }
 
+/** @} echo_client */
index 47d97ca..a96bd84 100644 (file)
@@ -57,7 +57,9 @@
 #include <cl_object.h>
 #include "osc_internal.h"
 
 #include <cl_object.h>
 #include "osc_internal.h"
 
-/** \addtogroup osc osc @{ */
+/** \defgroup osc osc
+ *  @{
+ */
 
 /**
  * State maintained by osc layer for each IO context.
 
 /**
  * State maintained by osc layer for each IO context.
index 068f0d5..8d63452 100644 (file)
@@ -38,8 +38,6 @@
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
-/** \addtogroup osc osc @{ */
-
 #define DEBUG_SUBSYSTEM S_OSC
 
 /* class_name2obd() */
 #define DEBUG_SUBSYSTEM S_OSC
 
 /* class_name2obd() */
 
 #include "osc_cl_internal.h"
 
 
 #include "osc_cl_internal.h"
 
+/** \addtogroup osc 
+ * @{ 
+ */
+
 cfs_mem_cache_t *osc_page_kmem;
 cfs_mem_cache_t *osc_lock_kmem;
 cfs_mem_cache_t *osc_object_kmem;
 cfs_mem_cache_t *osc_page_kmem;
 cfs_mem_cache_t *osc_lock_kmem;
 cfs_mem_cache_t *osc_object_kmem;
index 04b11db..ef514da 100644 (file)
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
-/** \addtogroup osc osc @{ */
-
 #define DEBUG_SUBSYSTEM S_OSC
 
 #include "osc_cl_internal.h"
 
 #define DEBUG_SUBSYSTEM S_OSC
 
 #include "osc_cl_internal.h"
 
+/** \addtogroup osc 
+ *  @{ 
+ */
+
 /*****************************************************************************
  *
  * Type conversions.
 /*****************************************************************************
  *
  * Type conversions.
index 5352983..136f7ff 100644 (file)
@@ -38,8 +38,6 @@
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
-/** \addtogroup osc osc @{ */
-
 #define DEBUG_SUBSYSTEM S_OSC
 
 #ifdef __KERNEL__
 #define DEBUG_SUBSYSTEM S_OSC
 
 #ifdef __KERNEL__
 
 #include "osc_cl_internal.h"
 
 
 #include "osc_cl_internal.h"
 
+/** \addtogroup osc 
+ *  @{ 
+ */
+
 /*****************************************************************************
  *
  * Type conversions.
 /*****************************************************************************
  *
  * Type conversions.
index 9e42f2e..42fc154 100644 (file)
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
-/** \addtogroup osc osc @{ */
-
 #define DEBUG_SUBSYSTEM S_OSC
 
 #include "osc_cl_internal.h"
 
 #define DEBUG_SUBSYSTEM S_OSC
 
 #include "osc_cl_internal.h"
 
+/** \addtogroup osc 
+ *  @{ 
+ */
+
 /*****************************************************************************
  *
  * Type conversions.
 /*****************************************************************************
  *
  * Type conversions.
index 4686b37..2d5b63f 100644 (file)
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
  *   Author: Nikita Danilov <nikita.danilov@sun.com>
  */
 
-/** \addtogroup osc osc @{ */
-
 #define DEBUG_SUBSYSTEM S_OSC
 
 #include "osc_cl_internal.h"
 
 #define DEBUG_SUBSYSTEM S_OSC
 
 #include "osc_cl_internal.h"
 
+/** \addtogroup osc 
+ *  @{ 
+ */
+
 /* 
  * Comment out osc_page_protected because it may sleep inside the
  * the client_obd_list_lock.
 /* 
  * Comment out osc_page_protected because it may sleep inside the
  * the client_obd_list_lock.
index 81d45d5..0c115f5 100644 (file)
@@ -2325,10 +2325,8 @@ out:
 /**
  * prepare pages for ASYNC io and put pages in send queue.
  *
 /**
  * prepare pages for ASYNC io and put pages in send queue.
  *
- * \param cli -
- * \param loi -
- * \param cmd - OBD_BRW_* macroses
- * \param lop - pending pages
+ * \param cmd OBD_BRW_* macroses
+ * \param lop pending pages
  *
  * \return zero if pages successfully add to send queue.
  * \return not zere if error occurring.
  *
  * \return zero if pages successfully add to send queue.
  * \return not zere if error occurring.
index 0f7713b..5c153c0 100644 (file)
@@ -1759,9 +1759,9 @@ int osd_fid_unpack(struct lu_fid *fid, const struct osd_fid_pack *pack)
  * Try to read the fid from inode ea into dt_rec, if return value
  * i.e. rc is +ve, then we got fid, otherwise we will have to form igif
  *
  * Try to read the fid from inode ea into dt_rec, if return value
  * i.e. rc is +ve, then we got fid, otherwise we will have to form igif
  *
- * \param fid, object fid.
+ * \param fid object fid.
  *
  *
- * \retval 0, on success
+ * \retval 0 on success
  */
 static int osd_ea_fid_get(const struct lu_env *env, struct osd_object *obj,
                           __u32 ino, struct lu_fid *fid)
  */
 static int osd_ea_fid_get(const struct lu_env *env, struct osd_object *obj,
                           __u32 ino, struct lu_fid *fid)
@@ -2396,7 +2396,7 @@ static const struct dt_body_operations osd_body_ops = {
 /**
  *      delete a (key, value) pair from index \a dt specified by \a key
  *
 /**
  *      delete a (key, value) pair from index \a dt specified by \a key
  *
- *      \param  dt_object      osd index object
+ *      \param  dt      osd index object
  *      \param  key     key for index
  *      \param  rec     record reference
  *      \param  handle  transaction handler
  *      \param  key     key for index
  *      \param  rec     record reference
  *      \param  handle  transaction handler
@@ -2507,7 +2507,7 @@ static int osd_index_ea_delete(const struct lu_env *env, struct dt_object *dt,
 /**
  *      Lookup index for \a key and copy record to \a rec.
  *
 /**
  *      Lookup index for \a key and copy record to \a rec.
  *
- *      \param  dt_object      osd index object
+ *      \param  dt      osd index object
  *      \param  key     key for index
  *      \param  rec     record reference
  *
  *      \param  key     key for index
  *      \param  rec     record reference
  *
@@ -2767,10 +2767,10 @@ static int osd_ea_lookup_rec(const struct lu_env *env, struct osd_object *obj,
 /**
  * Find the osd object for given fid.
  *
 /**
  * Find the osd object for given fid.
  *
- * \param fid, need to find the osd object having this fid
+ * \param fid need to find the osd object having this fid
  *
  *
- * \retval osd_object, on success
- * \retval        -ve, on error
+ * \retval osd_object on success
+ * \retval        -ve on error
  */
 struct osd_object *osd_object_find(const struct lu_env *env,
                                    struct dt_object *dt,
  */
 struct osd_object *osd_object_find(const struct lu_env *env,
                                    struct dt_object *dt,
@@ -2812,7 +2812,7 @@ struct osd_object *osd_object_find(const struct lu_env *env,
 /**
  * Put the osd object once done with it.
  *
 /**
  * Put the osd object once done with it.
  *
- * \param obj, osd object that needs to be put
+ * \param obj osd object that needs to be put
  */
 static inline void osd_object_put(const struct lu_env *env,
                                   struct osd_object *obj)
  */
 static inline void osd_object_put(const struct lu_env *env,
                                   struct osd_object *obj)
@@ -2825,8 +2825,8 @@ static inline void osd_object_put(const struct lu_env *env,
  * It will add the directory entry.This entry is needed to
  * maintain name->fid mapping.
  *
  * It will add the directory entry.This entry is needed to
  * maintain name->fid mapping.
  *
- * \param key, it is key i.e. file entry to be inserted
- * \param rec, it is value of given key i.e. fid
+ * \param key it is key i.e. file entry to be inserted
+ * \param rec it is value of given key i.e. fid
  *
  * \retval   0, on success
  * \retval -ve, on error
  *
  * \retval   0, on success
  * \retval -ve, on error
@@ -3181,7 +3181,7 @@ static struct dt_it *osd_it_ea_init(const struct lu_env *env,
 /**
  * Destroy or finishes iterator context.
  *
 /**
  * Destroy or finishes iterator context.
  *
- * \param di, struct osd_it_ea, iterator structure to be destroyed
+ * \param di iterator structure to be destroyed
  */
 static void osd_it_ea_fini(const struct lu_env *env, struct dt_it *di)
 {
  */
 static void osd_it_ea_fini(const struct lu_env *env, struct dt_it *di)
 {
@@ -3232,11 +3232,11 @@ static void osd_it_ea_put(const struct lu_env *env, struct dt_it *di)
  * iterator's in-memory data structure with required
  * information i.e. name, namelen, rec_size etc.
  *
  * iterator's in-memory data structure with required
  * information i.e. name, namelen, rec_size etc.
  *
- * \param buf, in which information to be filled in.
- * \param name, name of the file in given dir
+ * \param buf in which information to be filled in.
+ * \param name name of the file in given dir
  *
  *
- * \retval 0, on success
- * \retval 1, on buffer full
+ * \retval 0 on success
+ * \retval 1 on buffer full
  */
 static int osd_ldiskfs_filldir(char *buf, const char *name, int namelen,
                                loff_t offset, __u64 ino,
  */
 static int osd_ldiskfs_filldir(char *buf, const char *name, int namelen,
                                loff_t offset, __u64 ino,
@@ -3272,10 +3272,10 @@ static int osd_ldiskfs_filldir(char *buf, const char *name, int namelen,
  * Calls ->readdir() to load a directory entry at a time
  * and stored it in iterator's in-memory data structure.
  *
  * Calls ->readdir() to load a directory entry at a time
  * and stored it in iterator's in-memory data structure.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
+ * \param di iterator's in memory structure
  *
  *
- * \retval   0, on success
- * \retval -ve, on error
+ * \retval   0 on success
+ * \retval -ve on error
  */
 static int osd_ldiskfs_it_fill(const struct dt_it *di)
 {
  */
 static int osd_ldiskfs_it_fill(const struct dt_it *di)
 {
@@ -3309,11 +3309,11 @@ static int osd_ldiskfs_it_fill(const struct dt_it *di)
  * to load a directory entry at a time and stored it in
  * iterator's in-memory data structure.
  *
  * to load a directory entry at a time and stored it in
  * iterator's in-memory data structure.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
+ * \param di iterator's in memory structure
  *
  *
- * \retval +ve, iterator reached to end
- * \retval   0, iterator not reached to end
- * \retval -ve, on error
+ * \retval +ve iterator reached to end
+ * \retval   0 iterator not reached to end
+ * \retval -ve on error
  */
 static int osd_it_ea_next(const struct lu_env *env, struct dt_it *di)
 {
  */
 static int osd_it_ea_next(const struct lu_env *env, struct dt_it *di)
 {
@@ -3341,7 +3341,7 @@ static int osd_it_ea_next(const struct lu_env *env, struct dt_it *di)
 /**
  * Returns the key at current position from iterator's in memory structure.
  *
 /**
  * Returns the key at current position from iterator's in memory structure.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
+ * \param di iterator's in memory structure
  *
  * \retval key i.e. struct dt_key on success
  */
  *
  * \retval key i.e. struct dt_key on success
  */
@@ -3356,7 +3356,7 @@ static struct dt_key *osd_it_ea_key(const struct lu_env *env,
 /**
  * Returns the key's size at current position from iterator's in memory structure.
  *
 /**
  * Returns the key's size at current position from iterator's in memory structure.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
+ * \param di iterator's in memory structure
  *
  * \retval key_size i.e. struct dt_key on success
  */
  *
  * \retval key_size i.e. struct dt_key on success
  */
@@ -3372,12 +3372,12 @@ static int osd_it_ea_key_size(const struct lu_env *env, const struct dt_it *di)
  * Returns the value (i.e. fid/igif) at current position from iterator's
  * in memory structure.
  *
  * Returns the value (i.e. fid/igif) at current position from iterator's
  * in memory structure.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
- * \param attr, attr requested for dirent.
- * \param lde, lustre dirent
+ * \param di struct osd_it_ea, iterator's in memory structure
+ * \param attr attr requested for dirent.
+ * \param lde lustre dirent
  *
  *
- * \retval   0, no error and \param lde has correct lustre dirent.
- * \retval -ve, on error
+ * \retval   0 no error and \param lde has correct lustre dirent.
+ * \retval -ve on error
  */
 static inline int osd_it_ea_rec(const struct lu_env *env,
                                 const struct dt_it *di,
  */
 static inline int osd_it_ea_rec(const struct lu_env *env,
                                 const struct dt_it *di,
@@ -3407,7 +3407,7 @@ static inline int osd_it_ea_rec(const struct lu_env *env,
  * Returns a cookie for current position of the iterator head, so that
  * user can use this cookie to load/start the iterator next time.
  *
  * Returns a cookie for current position of the iterator head, so that
  * user can use this cookie to load/start the iterator next time.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
+ * \param di iterator's in memory structure
  *
  * \retval cookie for current position, on success
  */
  *
  * \retval cookie for current position, on success
  */
@@ -3423,10 +3423,10 @@ static __u64 osd_it_ea_store(const struct lu_env *env, const struct dt_it *di)
  * to load a directory entry at a time and stored it i inn,
  * in iterator's in-memory data structure.
  *
  * to load a directory entry at a time and stored it i inn,
  * in iterator's in-memory data structure.
  *
- * \param di, struct osd_it_ea, iterator's in memory structure
+ * \param di struct osd_it_ea, iterator's in memory structure
  *
  *
- * \retval +ve, on success
- * \retval -ve, on error
+ * \retval +ve on success
+ * \retval -ve on error
  */
 static int osd_it_ea_load(const struct lu_env *env,
                           const struct dt_it *di, __u64 hash)
  */
 static int osd_it_ea_load(const struct lu_env *env,
                           const struct dt_it *di, __u64 hash)
index cd4f6df..407f755 100644 (file)
@@ -628,9 +628,9 @@ static inline int lustre_msg_buflen_v2(struct lustre_msg_v2 *m, int n)
 }
 
 /**
 }
 
 /**
- * lustre_msg_buflen - return the length of buffer @n in message @m
- * @m - lustre_msg (request or reply) to look at
- * @n - message index (base 0)
+ * lustre_msg_buflen - return the length of buffer \a n in message \a m
+ * \param m lustre_msg (request or reply) to look at
+ * \param n message index (base 0)
  *
  * returns zero for non-existent message indices
  */
  *
  * returns zero for non-existent message indices
  */
index 4447b43..278bc7e 100644 (file)
@@ -1036,9 +1036,9 @@ int sptlrpc_cli_unwrap_reply(struct ptlrpc_request *req)
  * expect the rq_reply_off be 0, rq_nob_received is the early reply size.
  *
  * we allocate separate ptlrpc_request and reply buffer for early reply
  * expect the rq_reply_off be 0, rq_nob_received is the early reply size.
  *
  * we allocate separate ptlrpc_request and reply buffer for early reply
- * processing, return 0 and @req_ret is a duplicated ptlrpc_request. caller
+ * processing, return 0 and \a req_ret is a duplicated ptlrpc_request. caller
  * must call sptlrpc_cli_finish_early_reply() on the returned request to
  * must call sptlrpc_cli_finish_early_reply() on the returned request to
- * release it. if anything goes wrong @req_ret will not be set.
+ * release it. if anything goes wrong \a req_ret will not be set.
  */
 int sptlrpc_cli_unwrap_early_reply(struct ptlrpc_request *req,
                                    struct ptlrpc_request **req_ret)
  */
 int sptlrpc_cli_unwrap_early_reply(struct ptlrpc_request *req,
                                    struct ptlrpc_request **req_ret)
index 2cbd933..3382a08 100644 (file)
@@ -548,7 +548,7 @@ static int poolpath(char *fsname, char *pathname, char *pool_pathname)
 
 /**
  * Get the list of pool members.
 
 /**
  * Get the list of pool members.
- * \param poolname    string of format <fsname>.<poolname>
+ * \param poolname    string of format \<fsname\>.\<poolname\>
  * \param members     caller-allocated array of char*
  * \param list_size   size of the members array
  * \param buffer      caller-allocated buffer for storing OST names
  * \param members     caller-allocated array of char*
  * \param list_size   size of the members array
  * \param buffer      caller-allocated buffer for storing OST names
@@ -2928,6 +2928,7 @@ struct copytool_private {
 /** Register a copytool
  * @param priv Opaque private control structure
  * @param flags Open flags, currently unused (e.g. O_NONBLOCK)
 /** Register a copytool
  * @param priv Opaque private control structure
  * @param flags Open flags, currently unused (e.g. O_NONBLOCK)
+ * @param archive_num_count
  * @param archive_nums Which archive numbers this copytool is responsible for
  */
 int llapi_copytool_start(void **priv, int flags, int archive_num_count,
  * @param archive_nums Which archive numbers this copytool is responsible for
  */
 int llapi_copytool_start(void **priv, int flags, int archive_num_count,