Whamcloud - gitweb
LU-433 ldiskfs: remove jbd2-jcberr patch from kernel
[fs/lustre-release.git] / libsysio / include / sysio-cmn.h
index cd97756..abb6ddd 100644 (file)
@@ -9,7 +9,7 @@
  *    terms of the GNU Lesser General Public License
  *    (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
  *
- *    Cplant(TM) Copyright 1998-2005 Sandia Corporation. 
+ *    Cplant(TM) Copyright 1998-2006 Sandia Corporation. 
  *    Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
  *    license for use of this work by or on behalf of the US Government.
  *    Export of this program may require a license from the United States
 #define __IS_UNUSED
 #endif
 
-#ifndef _LARGEFILE64_SOURCE
-/*
- * Not glibc I guess. Define this ourselves.
- */
-#define _LARGEFILE64_SOURCE            0
-#endif
-
 /*
  * Define internal file-offset type and it's maximum value.
  */
-#if _LARGEFILE64_SOURCE
+#ifdef _LARGEFILE64_SOURCE
 #define _SYSIO_OFF_T                   off64_t
 #ifdef LLONG_MAX
 #define _SYSIO_OFF_T_MAX               (LLONG_MAX)
@@ -80,7 +73,7 @@
  * Internally, all file status is carried in the 64-bit capable
  * structure.
  */
-#if _LARGEFILE64_SOURCE
+#ifdef _LARGEFILE64_SOURCE
 #define intnl_xtvec xtvec64
 #else
 #define intnl_xtvec xtvec
@@ -89,7 +82,9 @@ struct intnl_xtvec;
 
 struct iovec;
 
-
+/*
+ * Symbol composition.
+ */
 #define _PREPEND_HELPER(p, x) \
        p ## x
 #define PREPEND(p, x) \
@@ -98,12 +93,14 @@ struct iovec;
 /*
  * SYSIO name label macros
  */
+#ifndef SYSIO_INTERFACE_NAME
 #ifdef SYSIO_LABEL_NAMES
 #define SYSIO_INTERFACE_NAME(x) \
        PREPEND(SYSIO_LABEL_NAMES, x)
 #else
 #define SYSIO_INTERFACE_NAME(x) x
-#endif
+#endif /* SYSIO_LABEL_NAMES */
+#endif /* !SYSIO_INTERFACE_NAME */
 
 /* for debugging */
 #if 0
@@ -151,14 +148,17 @@ struct iovec;
        } while(0) 
 
 /* Interface enter/leave hook functions  */
-#if SYSIO_TRACING
+#ifdef SYSIO_TRACING
 extern void *_sysio_entry_trace_q;
 extern void *_sysio_exit_trace_q;
 
 extern void *_sysio_register_trace(void *q,
                                   void (*)(const char *file,
                                            const char *func,
-                                           int line));
+                                           int line,
+                                           void *data),
+                                  void *data,
+                                  void (*destructor)(void *data));
 extern void _sysio_remove_trace(void *q, void *p);
 extern void _sysio_run_trace_q(void *q,
                               const char *file,
@@ -183,13 +183,13 @@ extern void _sysio_run_trace_q(void *q,
        do { } while (0)
 #endif
 
-/* accounting for IO stats read and write char count */
+/* Accounting for IO stats; Read and write character count. */
 #if defined(REDSTORM)
 #define _SYSIO_UPDACCT(w, cc) \
        do { \
                if ((cc) < 0) \
                        break; \
-               if (!w) \
+               if (w) \
                        _add_iostats(0, (size_t )(cc)); \
                else \
                        _add_iostats((size_t )(cc), 0); \