<html lang='en'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<title>
GitLab
</title>
</meta>
</head>
<style>
  img {
    max-width: 100%;
    height: auto;
  }
  p.details {
    font-style:italic;
    color:#777
  }
  .footer p {
    font-size:small;
    color:#777
  }
  pre.commit-message {
    white-space: pre-wrap;
  }
  .file-stats a {
    text-decoration: none;
  }
  .file-stats .new-file {
    color: #090;
  }
  .file-stats .deleted-file {
    color: #B00;
  }
</style>
<body>
<div class='content'>
<h3>Shane Snyder pushed to branch dev-modular at <a href="https://xgitlab.cels.anl.gov/darshan/darshan">darshan / darshan</a></h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://xgitlab.cels.anl.gov/darshan/darshan/commit/ba451e9ab313b395f05ba6f69b480ba1089b0008">ba451e9a</a></strong>
<div>
<span>by Shane Snyder</span>
<i>at 2015-11-24T22:40:51Z</i>
</div>
<pre class='commit-message'>rework header org. for module-specific versions</pre>
</li>
<li>
<strong><a href="https://xgitlab.cels.anl.gov/darshan/darshan/commit/66181457ee55eaac707fe6db89e11abbb9246828">66181457</a></strong>
<div>
<span>by Shane Snyder</span>
<i>at 2015-11-25T10:18:12Z</i>
</div>
<pre class='commit-message'>modify runtime code to store each module's version</pre>
</li>
<li>
<strong><a href="https://xgitlab.cels.anl.gov/darshan/darshan/commit/173d38b85c7fc065820f2f700c3c109b605e036d">173d38b8</a></strong>
<div>
<span>by Shane Snyder</span>
<i>at 2015-11-25T12:41:33Z</i>
</div>
<pre class='commit-message'>update util interfaces to support mod-specific ver</pre>
</li>
</ul>
<h4>31 changed files:</h4>
<ul>
<li class='file-stats'>
<a href='#diff-0'>
darshan-bgq-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-1'>
darshan-hdf5-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-2'>
darshan-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-3'>
darshan-mpiio-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-4'>
darshan-null-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-5'>
darshan-pnetcdf-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-6'>
darshan-posix-log-format.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-7'>
darshan-runtime/lib/darshan-bgq.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-8'>
darshan-runtime/lib/darshan-core.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-9'>
darshan-runtime/lib/darshan-hdf5.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-10'>
darshan-runtime/lib/darshan-mpiio.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-11'>
darshan-runtime/lib/darshan-null.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-12'>
darshan-runtime/lib/darshan-pnetcdf.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-13'>
darshan-runtime/lib/darshan-posix.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-14'>
darshan-util/Makefile.in
</a>
</li>
<li class='file-stats'>
<a href='#diff-15'>
darshan-util/darshan-bgq-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-16'>
darshan-util/darshan-bgq-logutils.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-17'>
darshan-util/darshan-convert.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-18'>
darshan-util/darshan-hdf5-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-19'>
darshan-util/darshan-hdf5-logutils.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-20'>
darshan-util/darshan-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-21'>
darshan-util/darshan-logutils.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-22'>
darshan-util/darshan-mpiio-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-23'>
darshan-util/darshan-mpiio-logutils.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-24'>
darshan-util/darshan-null-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-25'>
darshan-util/darshan-null-logutils.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-26'>
darshan-util/darshan-parser.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-27'>
darshan-util/darshan-pnetcdf-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-28'>
darshan-util/darshan-pnetcdf-logutils.h
</a>
</li>
<li class='file-stats'>
<a href='#diff-29'>
darshan-util/darshan-posix-logutils.c
</a>
</li>
<li class='file-stats'>
<a href='#diff-30'>
darshan-util/darshan-posix-logutils.h
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id='diff-0'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-0'>
<strong>
darshan-bgq-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-bgq-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-bgq-log-format.h
</span><span style="color: #aaaaaa">@@ -7,8 +7,8 @@
</span> #ifndef __DARSHAN_BGQ_LOG_FORMAT_H
 #define __DARSHAN_BGQ_LOG_FORMAT_H
 
-#include "darshan-log-format.h"
-
<span style="color: #000000;background-color: #ddffdd">+/* current BGQ log format version */
+#define DARSHAN_BGQ_VER 1
</span> 
 #define BGQ_COUNTERS \
     X(BGQ_CSJOBID, "control system jobid") \
</code></pre>

<br>
</li>
<li id='diff-1'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-1'>
<strong>
darshan-hdf5-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-hdf5-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-hdf5-log-format.h
</span><span style="color: #aaaaaa">@@ -7,7 +7,8 @@
</span> #ifndef __DARSHAN_HDF5_LOG_FORMAT_H
 #define __DARSHAN_HDF5_LOG_FORMAT_H
 
-#include "darshan-log-format.h"
<span style="color: #000000;background-color: #ddffdd">+/* current HDF5 log format version */
+#define DARSHAN_HDF5_VER 1
</span> 
 #define HDF5_COUNTERS \
     /* count of HDF5 opens */\
</code></pre>

<br>
</li>
<li id='diff-2'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-2'>
<strong>
darshan-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-log-format.h
</span><span style="color: #aaaaaa">@@ -31,44 +31,9 @@
</span> /* max length of exe string within job record (not counting '\0') */
 #define DARSHAN_EXE_LEN (DARSHAN_JOB_RECORD_SIZE - sizeof(struct darshan_job) - 1)
 
<span style="color: #000000;background-color: #ddffdd">+/* max number of modules that can be used in a darshan log */
</span> #define DARSHAN_MAX_MODS 16
 
-/* X-macro for keeping module ordering consistent */
-/* NOTE: first val used to define module enum values, 
<span style="color: #000000;background-color: #ffdddd">- * second val used to define module name strings, and
- * third val is used to provide the name of a 
- * corresponding logutils structure for parsing module
- * data out of the log file (only used in darshan-util
- * component -- NULL can be passed if there are no
- * logutil definitions)
- */
</span>-#define DARSHAN_MODULE_IDS \
<span style="color: #000000;background-color: #ffdddd">-    X(DARSHAN_NULL_MOD, "NULL", NULL) \
-    X(DARSHAN_POSIX_MOD, "POSIX", &posix_logutils) \
-    X(DARSHAN_MPIIO_MOD, "MPI-IO", &mpiio_logutils) \
-    X(DARSHAN_HDF5_MOD, "HDF5", &hdf5_logutils) \
-    X(DARSHAN_PNETCDF_MOD, "PNETCDF", &pnetcdf_logutils) \
-    X(DARSHAN_BGQ_MOD, "BG/Q", &bgq_logutils)
</span>-
-/* unique identifiers to distinguish between available darshan modules */
-/* NOTES: - valid ids range from [0...DARSHAN_MAX_MODS-1]
<span style="color: #000000;background-color: #ffdddd">- *        - order of ids control module shutdown order (and consequently, order in log file)
- */
</span>-#define X(a, b, c) a,
-typedef enum
-{
<span style="color: #000000;background-color: #ffdddd">-    DARSHAN_MODULE_IDS
</span>-} darshan_module_id;
-#undef X
-
-/* module name strings */
-#define X(a, b, c) b,
-static char * const darshan_module_names[] =
-{
<span style="color: #000000;background-color: #ffdddd">-    DARSHAN_MODULE_IDS
</span>-};
-#undef X
-
 /* simple macros for accessing module flag bitfields */
 #define DARSHAN_MOD_FLAG_SET(flags, id) flags = (flags | (1 << id))
 #define DARSHAN_MOD_FLAG_UNSET(flags, id) flags = (flags & ~(1 << id))
<span style="color: #aaaaaa">@@ -105,6 +70,7 @@ struct darshan_header
</span>     uint32_t partial_flag;
     struct darshan_log_map rec_map;
     struct darshan_log_map mod_map[DARSHAN_MAX_MODS];
<span style="color: #000000;background-color: #ddffdd">+    uint32_t mod_ver[DARSHAN_MAX_MODS];
</span> };
 
 /* job-level metadata stored for this application */
<span style="color: #aaaaaa">@@ -126,4 +92,61 @@ struct darshan_record
</span>     darshan_record_id id;
 };
 
<span style="color: #000000;background-color: #ddffdd">+
+/************************************************
+ *** module-specific includes and definitions ***
+ ************************************************/
+
+#include "darshan-null-log-format.h"
+#include "darshan-posix-log-format.h"
+#include "darshan-mpiio-log-format.h"
+#include "darshan-hdf5-log-format.h"
+#include "darshan-pnetcdf-log-format.h"
+#include "darshan-bgq-log-format.h"
+
+/* X-macro for keeping module ordering consistent */
+/* NOTE: first val used to define module enum values, 
+ * second val used to define module name strings,
+ * third val is the log format version for the module,
+ * and fourth val is used to provide the name of a 
+ * corresponding logutils structure for parsing module
+ * data out of the log file (only used in darshan-util
+ * component -- NULL can be passed if there are no
+ * logutil definitions)
+ */
+#define DARSHAN_MODULE_IDS \
+    X(DARSHAN_NULL_MOD,     "NULL",     DARSHAN_NULL_VER,       NULL) \
+    X(DARSHAN_POSIX_MOD,    "POSIX",    DARSHAN_POSIX_VER,      &posix_logutils) \
+    X(DARSHAN_MPIIO_MOD,    "MPI-IO",   DARSHAN_MPIIO_VER,      &mpiio_logutils) \
+    X(DARSHAN_HDF5_MOD,     "HDF5",     DARSHAN_HDF5_VER,       &hdf5_logutils) \
+    X(DARSHAN_PNETCDF_MOD,  "PNETCDF",  DARSHAN_PNETCDF_VER,    &pnetcdf_logutils) \
+    X(DARSHAN_BGQ_MOD,      "BG/Q",     DARSHAN_BGQ_VER,        &bgq_logutils)
+
+/* unique identifiers to distinguish between available darshan modules */
+/* NOTES: - valid ids range from [0...DARSHAN_MAX_MODS-1]
+ *        - order of ids control module shutdown order (and consequently, order in log file)
+ */
+#define X(a, b, c, d) a,
+typedef enum
+{
+    DARSHAN_MODULE_IDS
+} darshan_module_id;
+#undef X
+
+/* module name strings */
+#define X(a, b, c, d) b,
+static char * const darshan_module_names[] =
+{
+    DARSHAN_MODULE_IDS
+};
+#undef X
+
+/* module version numbers */
+#define X(a, b, c, d) c,
+static const int darshan_module_versions[] =
+{
+    DARSHAN_MODULE_IDS
+};
+#undef X
+
</span> #endif /* __DARSHAN_LOG_FORMAT_H */
</code></pre>

<br>
</li>
<li id='diff-3'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-3'>
<strong>
darshan-mpiio-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-mpiio-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-mpiio-log-format.h
</span><span style="color: #aaaaaa">@@ -7,7 +7,8 @@
</span> #ifndef __DARSHAN_MPIIO_LOG_FORMAT_H
 #define __DARSHAN_MPIIO_LOG_FORMAT_H
 
-#include "darshan-log-format.h"
<span style="color: #000000;background-color: #ddffdd">+/* current MPI-IO log format version */
+#define DARSHAN_MPIIO_VER 1
</span> 
 /* TODO: maybe use a counter to track cases in which a derived datatype is used? */
 
</code></pre>

<br>
</li>
<li id='diff-4'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-4'>
<strong>
darshan-null-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-null-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-null-log-format.h
</span><span style="color: #aaaaaa">@@ -7,7 +7,8 @@
</span> #ifndef __DARSHAN_NULL_LOG_FORMAT_H
 #define __DARSHAN_NULL_LOG_FORMAT_H
 
-#include "darshan-log-format.h"
<span style="color: #000000;background-color: #ddffdd">+/* current log format version, to support backwards compatibility */
+#define DARSHAN_NULL_VER 1
</span> 
 #define NULL_COUNTERS \
     /* count of number of 'bar' function calls */\
</code></pre>

<br>
</li>
<li id='diff-5'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-5'>
<strong>
darshan-pnetcdf-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-pnetcdf-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-pnetcdf-log-format.h
</span><span style="color: #aaaaaa">@@ -7,7 +7,8 @@
</span> #ifndef __DARSHAN_PNETCDF_LOG_FORMAT_H
 #define __DARSHAN_PNETCDF_LOG_FORMAT_H
 
-#include "darshan-log-format.h"
<span style="color: #000000;background-color: #ddffdd">+/* current PNETCDF log format version */
+#define DARSHAN_PNETCDF_VER 1
</span> 
 #define PNETCDF_COUNTERS \
     /* count of PNETCDF independent opens */\
</code></pre>

<br>
</li>
<li id='diff-6'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-6'>
<strong>
darshan-posix-log-format.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-posix-log-format.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-posix-log-format.h
</span><span style="color: #aaaaaa">@@ -6,7 +6,8 @@
</span> #ifndef __DARSHAN_POSIX_LOG_FORMAT_H
 #define __DARSHAN_POSIX_LOG_FORMAT_H
 
-#include "darshan-log-format.h"
<span style="color: #000000;background-color: #ddffdd">+/* current POSIX log format version */
+#define DARSHAN_POSIX_VER 1
</span> 
 #define POSIX_COUNTERS \
     /* count of posix opens */\
</code></pre>

<br>
</li>
<li id='diff-7'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-7'>
<strong>
darshan-runtime/lib/darshan-bgq.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-bgq.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-bgq.c
</span><span style="color: #aaaaaa">@@ -16,7 +16,6 @@
</span> 
 #include "uthash.h"
 #include "darshan.h"
-#include "darshan-bgq-log-format.h"
 #include "darshan-dynamic.h"
 
 #include <mpix.h>
</code></pre>

<br>
</li>
<li id='diff-8'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-8'>
<strong>
darshan-runtime/lib/darshan-core.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-core.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-core.c
</span><span style="color: #aaaaaa">@@ -264,7 +264,6 @@ void darshan_core_shutdown()
</span>     double header1, header2;
     double tm_end;
     uint64_t gz_fp = 0;
<span style="color: #000000;background-color: #ffdddd">-    uint32_t tmp_partial_flag;
</span>     MPI_File log_fh;
     MPI_Status status;
 
<span style="color: #aaaaaa">@@ -389,7 +388,6 @@ void darshan_core_shutdown()
</span>         {
             fprintf(stderr, "darshan library warning: unable to open log file %s\n",
                 logfile_name);
<span style="color: #000000;background-color: #ffdddd">-            unlink(logfile_name);
</span>         }
         free(logfile_name);
         darshan_core_cleanup(final_core);
<span style="color: #aaaaaa">@@ -555,23 +553,28 @@ void darshan_core_shutdown()
</span>             mod2[i] = DARSHAN_MPI_CALL(PMPI_Wtime)();
     }
 
<span style="color: #000000;background-color: #ffdddd">-    /* run a reduction to determine if any application processes had to set the
-     * partial flag for any modules. this happens when a module exhausts its memory
-     * and does not track every possible record
-     */
-    DARSHAN_MPI_CALL(PMPI_Reduce)(&(final_core->log_header.partial_flag),
-        &tmp_partial_flag, 1, MPI_UINT32_T, MPI_BOR, 0, MPI_COMM_WORLD);
</span>-
     if(internal_timing_flag)
         header1 = DARSHAN_MPI_CALL(PMPI_Wtime)();
<span style="color: #000000;background-color: #ffdddd">-    /* rank 0 is responsible for writing the log header */
</span><span style="color: #000000;background-color: #ddffdd">+    /* write out log header, after running 2 reduction on header variables:
+     *  1) reduce 'partial_flag' variable to determine which modules ran out
+     *     of memory for storing I/O data
+     *  2) reduce 'mod_ver' array to determine which log format version each
+     *     module used for this output log
+     */
</span>     if(my_rank == 0)
     {
<span style="color: #000000;background-color: #ddffdd">+        DARSHAN_MPI_CALL(PMPI_Reduce)(MPI_IN_PLACE,
+            &(final_core->log_header.partial_flag), 1, MPI_UINT32_T,
+            MPI_BOR, 0, MPI_COMM_WORLD);
+        DARSHAN_MPI_CALL(PMPI_Reduce)(MPI_IN_PLACE,
+            final_core->log_header.mod_ver, DARSHAN_MAX_MODS, MPI_UINT32_T,
+            MPI_MAX, 0, MPI_COMM_WORLD);
+
+        /* rank 0 is responsible for writing the log header */
</span>         /* initialize the remaining header fields */
         strcpy(final_core->log_header.version_string, DARSHAN_LOG_VERSION);
         final_core->log_header.magic_nr = DARSHAN_MAGIC_NR;
         final_core->log_header.comp_type = DARSHAN_ZLIB_COMP;
<span style="color: #000000;background-color: #ffdddd">-        final_core->log_header.partial_flag = tmp_partial_flag;
</span> 
         all_ret = DARSHAN_MPI_CALL(PMPI_File_write_at)(log_fh, 0, &(final_core->log_header),
             sizeof(struct darshan_header), MPI_BYTE, &status);
<span style="color: #aaaaaa">@@ -582,6 +585,15 @@ void darshan_core_shutdown()
</span>             unlink(logfile_name);
         }
     }
<span style="color: #000000;background-color: #ddffdd">+    else
+    {
+        DARSHAN_MPI_CALL(PMPI_Reduce)(&(final_core->log_header.partial_flag),
+            &(final_core->log_header.partial_flag), 1, MPI_UINT32_T,
+            MPI_BOR, 0, MPI_COMM_WORLD);
+        DARSHAN_MPI_CALL(PMPI_Reduce)(final_core->log_header.mod_ver,
+            final_core->log_header.mod_ver, DARSHAN_MAX_MODS, MPI_UINT32_T,
+            MPI_MAX, 0, MPI_COMM_WORLD);
+    }
</span> 
     /* error out if unable to write log header */
     DARSHAN_MPI_CALL(PMPI_Bcast)(&all_ret, 1, MPI_INT, 0, MPI_COMM_WORLD);
<span style="color: #aaaaaa">@@ -1532,6 +1544,7 @@ void darshan_core_register_module(
</span> 
     /* register module with darshan */
     darshan_core->mod_array[mod_id] = mod;
<span style="color: #000000;background-color: #ddffdd">+    darshan_core->log_header.mod_ver[mod_id] = darshan_module_versions[mod_id];
</span> 
     /* get the calling process's rank */
     DARSHAN_MPI_CALL(PMPI_Comm_rank)(MPI_COMM_WORLD, my_rank);
</code></pre>

<br>
</li>
<li id='diff-9'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-9'>
<strong>
darshan-runtime/lib/darshan-hdf5.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-hdf5.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-hdf5.c
</span><span style="color: #aaaaaa">@@ -22,7 +22,6 @@
</span> #include "uthash.h"
 
 #include "darshan.h"
-#include "darshan-hdf5-log-format.h"
 #include "darshan-dynamic.h"
 
 /* hope this doesn't change any time soon */
</code></pre>

<br>
</li>
<li id='diff-10'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-10'>
<strong>
darshan-runtime/lib/darshan-mpiio.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-mpiio.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-mpiio.c
</span><span style="color: #aaaaaa">@@ -23,7 +23,6 @@
</span> #include "uthash.h"
 
 #include "darshan.h"
-#include "darshan-mpiio-log-format.h"
 #include "darshan-dynamic.h"
 
 /* The mpiio_file_runtime structure maintains necessary runtime metadata
</code></pre>

<br>
</li>
<li id='diff-11'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-11'>
<strong>
darshan-runtime/lib/darshan-null.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-null.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-null.c
</span><span style="color: #aaaaaa">@@ -16,7 +16,6 @@
</span> 
 #include "uthash.h"
 #include "darshan.h"
-#include "darshan-null-log-format.h"
 
 /* The "NULL" module is an example instrumentation module implementation provided
  * with Darshan, primarily to indicate how arbitrary modules may be integrated
</code></pre>

<br>
</li>
<li id='diff-12'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-12'>
<strong>
darshan-runtime/lib/darshan-pnetcdf.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-pnetcdf.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-pnetcdf.c
</span><span style="color: #aaaaaa">@@ -22,7 +22,6 @@
</span> #include "uthash.h"
 
 #include "darshan.h"
-#include "darshan-pnetcdf-log-format.h"
 #include "darshan-dynamic.h"
 
 DARSHAN_FORWARD_DECL(ncmpi_create, int, (MPI_Comm comm, const char *path, int cmode, MPI_Info info, int *ncidp));
</code></pre>

<br>
</li>
<li id='diff-13'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-13'>
<strong>
darshan-runtime/lib/darshan-posix.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-runtime/lib/darshan-posix.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-runtime/lib/darshan-posix.c
</span><span style="color: #aaaaaa">@@ -30,7 +30,6 @@
</span> #include "utlist.h"
 
 #include "darshan.h"
-#include "darshan-posix-log-format.h"
 #include "darshan-dynamic.h"
 
 #ifndef HAVE_OFF64_T
</code></pre>

<br>
</li>
<li id='diff-14'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-14'>
<strong>
darshan-util/Makefile.in
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/Makefile.in
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/Makefile.in
</span><span style="color: #aaaaaa">@@ -93,10 +93,10 @@ lookup3.o: lookup3.c
</span>   $(CC) $(CFLAGS) -c $< -o $@
 
 darshan-analyzer: darshan-analyzer.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
-       $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
<span style="color: #000000;background-color: #ddffdd">+        $(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS)
</span> 
 darshan-convert: darshan-convert.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) libdarshan-util.a lookup3.o | uthash-1.9.2
-       $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
<span style="color: #000000;background-color: #ddffdd">+        $(CC) $(CFLAGS) $(LDFLAGS) $< lookup3.o libdarshan-util.a -o $@ $(LIBS)
</span> 
 #darshan-diff: darshan-diff.o $(DARSHAN_LOG_FORMAT) darshan-logutils.o darshan-logutils.h
 #      $(CC) $(CFLAGS)  $(LDFLAGS) $< darshan-logutils.o -o $@ $(LIBS)
<span style="color: #aaaaaa">@@ -104,7 +104,7 @@ darshan-convert: darshan-convert.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) libd
</span> # $(CC) $(CFLAGS) -c  $< -o $@
 
 darshan-parser: darshan-parser.c darshan-logutils.h $(DARSHAN_LOG_FORMAT) $(DARSHAN_MOD_LOGUTIL_HEADERS) $(DARSHAN_MOD_LOG_FORMATS) libdarshan-util.a | uthash-1.9.2
-       $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) 
<span style="color: #000000;background-color: #ddffdd">+        $(CC) $(CFLAGS) $(LDFLAGS) $< libdarshan-util.a -o $@ $(LIBS) 
</span> 
 #test/gztest: test/gztest.c mktestdir
 #      $(CC) $(CFLAGS)  $(LDFLAGS) -lz $< -o $@
</code></pre>

<br>
</li>
<li id='diff-15'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-15'>
<strong>
darshan-util/darshan-bgq-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-bgq-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-bgq-logutils.c
</span><span style="color: #aaaaaa">@@ -17,7 +17,7 @@
</span> #include <fcntl.h>
 #include <errno.h>
 
-#include "darshan-bgq-logutils.h"
<span style="color: #000000;background-color: #ddffdd">+#include "darshan-logutils.h"
</span> 
 /* counter name strings for the POSIX module */
 #define X(a, b) #a,
<span style="color: #aaaaaa">@@ -32,9 +32,9 @@ char *bgq_f_counter_names[] = {
</span> 
 static int darshan_log_get_bgq_rec(darshan_fd fd, void* bgq_buf,
     darshan_record_id* rec_id);
-static int darshan_log_put_bgq_rec(darshan_fd fd, void* bgq_buf);
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_bgq_rec(darshan_fd fd, void* bgq_buf, int ver);
</span> static void darshan_log_print_bgq_rec(void *file_rec,
<span style="color: #000000;background-color: #ffdddd">-    char *file_name, char *mnt_pt, char *fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+    char *file_name, char *mnt_pt, char *fs_type, int ver);
</span> 
 struct darshan_mod_logutil_funcs bgq_logutils =
 {
<span style="color: #aaaaaa">@@ -75,13 +75,13 @@ static int darshan_log_get_bgq_rec(darshan_fd fd, void* bgq_buf,
</span>     }
 }
 
-static int darshan_log_put_bgq_rec(darshan_fd fd, void* bgq_buf)
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_bgq_rec(darshan_fd fd, void* bgq_buf, int ver)
</span> {
     struct darshan_bgq_record *rec = (struct darshan_bgq_record *)bgq_buf;
     int ret;
 
     ret = darshan_log_putmod(fd, DARSHAN_BGQ_MOD, rec,
<span style="color: #000000;background-color: #ffdddd">-        sizeof(struct darshan_bgq_record));
</span><span style="color: #000000;background-color: #ddffdd">+        sizeof(struct darshan_bgq_record), ver);
</span>     if(ret < 0)
         return(-1);
 
<span style="color: #aaaaaa">@@ -89,7 +89,7 @@ static int darshan_log_put_bgq_rec(darshan_fd fd, void* bgq_buf)
</span> }
 
 static void darshan_log_print_bgq_rec(void *file_rec, char *file_name,
<span style="color: #000000;background-color: #ffdddd">-    char *mnt_pt, char *fs_type)
</span><span style="color: #000000;background-color: #ddffdd">+    char *mnt_pt, char *fs_type, int ver)
</span> {
     int i;
     struct darshan_bgq_record *bgq_file_rec =
</code></pre>

<br>
</li>
<li id='diff-16'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-16'>
<strong>
darshan-util/darshan-bgq-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-bgq-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-bgq-logutils.h
</span><span style="color: #aaaaaa">@@ -7,9 +7,6 @@
</span> #ifndef __DARSHAN_BGQ_LOG_UTILS_H
 #define __DARSHAN_BGQ_LOG_UTILS_H
 
-#include "darshan-logutils.h"
-#include "darshan-bgq-log-format.h"
-
 extern char *bgq_counter_names[];
 extern char *bgq_f_counter_names[];
 
</code></pre>

<br>
</li>
<li id='diff-17'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-17'>
<strong>
darshan-util/darshan-convert.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-convert.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-convert.c
</span><span style="color: #aaaaaa">@@ -373,7 +373,7 @@ int main(int argc, char **argv)
</span>         {
             if(!hash || hash == rec_id)
             {
<span style="color: #000000;background-color: #ffdddd">-                ret = mod_logutils[i]->log_put_record(outfile, mod_buf);
</span><span style="color: #000000;background-color: #ddffdd">+                ret = mod_logutils[i]->log_put_record(outfile, mod_buf, infile->mod_ver[i]);
</span>                 if(ret < 0)
                 {
                     darshan_log_close(infile);
</code></pre>

<br>
</li>
<li id='diff-18'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-18'>
<strong>
darshan-util/darshan-hdf5-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-hdf5-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-hdf5-logutils.c
</span><span style="color: #aaaaaa">@@ -17,7 +17,7 @@
</span> #include <fcntl.h>
 #include <errno.h>
 
-#include "darshan-hdf5-logutils.h"
<span style="color: #000000;background-color: #ddffdd">+#include "darshan-logutils.h"
</span> 
 /* counter name strings for the HDF5 module */
 #define X(a) #a,
<span style="color: #aaaaaa">@@ -32,9 +32,9 @@ char *hdf5_f_counter_names[] = {
</span> 
 static int darshan_log_get_hdf5_file(darshan_fd fd, void* hdf5_buf,
     darshan_record_id* rec_id);
-static int darshan_log_put_hdf5_file(darshan_fd fd, void* hdf5_buf);
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_hdf5_file(darshan_fd fd, void* hdf5_buf, int ver);
</span> static void darshan_log_print_hdf5_file(void *file_rec,
<span style="color: #000000;background-color: #ffdddd">-    char *file_name, char *mnt_pt, char *fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+    char *file_name, char *mnt_pt, char *fs_type, int ver);
</span> 
 struct darshan_mod_logutil_funcs hdf5_logutils =
 {
<span style="color: #aaaaaa">@@ -75,13 +75,13 @@ static int darshan_log_get_hdf5_file(darshan_fd fd, void* hdf5_buf,
</span>     }
 }
 
-static int darshan_log_put_hdf5_file(darshan_fd fd, void* hdf5_buf)
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_hdf5_file(darshan_fd fd, void* hdf5_buf, int ver)
</span> {
     struct darshan_hdf5_file *file = (struct darshan_hdf5_file *)hdf5_buf;
     int ret;
 
     ret = darshan_log_putmod(fd, DARSHAN_HDF5_MOD, file,
<span style="color: #000000;background-color: #ffdddd">-        sizeof(struct darshan_hdf5_file));
</span><span style="color: #000000;background-color: #ddffdd">+        sizeof(struct darshan_hdf5_file), ver);
</span>     if(ret < 0)
         return(-1);
 
<span style="color: #aaaaaa">@@ -89,7 +89,7 @@ static int darshan_log_put_hdf5_file(darshan_fd fd, void* hdf5_buf)
</span> }
 
 static void darshan_log_print_hdf5_file(void *file_rec, char *file_name,
<span style="color: #000000;background-color: #ffdddd">-    char *mnt_pt, char *fs_type)
</span><span style="color: #000000;background-color: #ddffdd">+    char *mnt_pt, char *fs_type, int ver)
</span> {
     int i;
     struct darshan_hdf5_file *hdf5_file_rec =
</code></pre>

<br>
</li>
<li id='diff-19'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-19'>
<strong>
darshan-util/darshan-hdf5-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-hdf5-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-hdf5-logutils.h
</span><span style="color: #aaaaaa">@@ -7,9 +7,6 @@
</span> #ifndef __DARSHAN_HDF5_LOG_UTILS_H
 #define __DARSHAN_HDF5_LOG_UTILS_H
 
-#include "darshan-logutils.h"
-#include "darshan-hdf5-log-format.h"
-
 extern char *hdf5_counter_names[];
 extern char *hdf5_f_counter_names[];
 
</code></pre>

<br>
</li>
<li id='diff-20'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-20'>
<strong>
darshan-util/darshan-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-logutils.c
</span><span style="color: #aaaaaa">@@ -87,7 +87,7 @@ static int darshan_log_dzload(darshan_fd fd, struct darshan_log_map map);
</span> static int darshan_log_dzunload(darshan_fd fd, struct darshan_log_map *map_p);
 
 /* each module's implementation of the darshan logutil functions */
-#define X(a, b, c) c,
<span style="color: #000000;background-color: #ddffdd">+#define X(a, b, c, d) d,
</span> struct darshan_mod_logutil_funcs *mod_logutils[DARSHAN_MAX_MODS] =
 {
     DARSHAN_MODULE_IDS
<span style="color: #aaaaaa">@@ -730,7 +730,7 @@ int darshan_log_getmod(darshan_fd fd, darshan_module_id mod_id,
</span>  * returns number of bytes written on success, -1 on failure
  */
 int darshan_log_putmod(darshan_fd fd, darshan_module_id mod_id,
<span style="color: #000000;background-color: #ffdddd">-    void *mod_buf, int mod_buf_sz)
</span><span style="color: #000000;background-color: #ddffdd">+    void *mod_buf, int mod_buf_sz, int ver)
</span> {
     struct darshan_fd_int_state *state = fd->state;
     int ret;
<span style="color: #aaaaaa">@@ -755,6 +755,9 @@ int darshan_log_putmod(darshan_fd fd, darshan_module_id mod_id,
</span>         return(-1);
     }
 
<span style="color: #000000;background-color: #ddffdd">+    /* set the version number for this module's data */
+    fd->mod_ver[mod_id] = ver;
+
</span>     return(0);
 }
 
<span style="color: #aaaaaa">@@ -883,8 +886,10 @@ static int darshan_log_getheader(darshan_fd fd)
</span>         }
     }
 
<span style="color: #000000;background-color: #ddffdd">+    /* set some fd fields based on what's stored in the header */
</span>     state->comp_type = header.comp_type;
     fd->partial_flag = header.partial_flag;
<span style="color: #000000;background-color: #ddffdd">+    memcpy(fd->mod_ver, header.mod_ver, DARSHAN_MAX_MODS * sizeof(uint32_t));
</span> 
     /* save the mapping of data within log file to this file descriptor */
     fd->job_map.off = sizeof(struct darshan_header);
</code></pre>

<br>
</li>
<li id='diff-21'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-21'>
<strong>
darshan-util/darshan-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-logutils.h
</span><span style="color: #aaaaaa">@@ -33,6 +33,8 @@ struct darshan_fd_s
</span>     struct darshan_log_map job_map;
     struct darshan_log_map rec_map;
     struct darshan_log_map mod_map[DARSHAN_MAX_MODS];
<span style="color: #000000;background-color: #ddffdd">+    /* module-specific log-format versions contained in log */
+    uint32_t mod_ver[DARSHAN_MAX_MODS];
</span> 
     /* KEEP OUT -- remaining state hidden in logutils source */
     struct darshan_fd_int_state *state;
<span style="color: #aaaaaa">@@ -64,14 +66,16 @@ struct darshan_mod_logutil_funcs
</span>      */
     int (*log_put_record)(
         darshan_fd fd,
<span style="color: #000000;background-color: #ffdddd">-        void *buf
</span><span style="color: #000000;background-color: #ddffdd">+        void *buf,
+        int ver
</span>     );
     /* print the counters for a given log file record */
     void (*log_print_record)(
         void *file_rec,
         char *file_name,
         char *mnt_pt,
<span style="color: #000000;background-color: #ffdddd">-        char *fs_type
</span><span style="color: #000000;background-color: #ddffdd">+        char *fs_type,
+        int ver
</span>     );
 };
 
<span style="color: #aaaaaa">@@ -99,7 +103,7 @@ int darshan_log_puthash(darshan_fd fd, struct darshan_record_ref *hash);
</span> int darshan_log_getmod(darshan_fd fd, darshan_module_id mod_id,
     void *mod_buf, int mod_buf_sz);
 int darshan_log_putmod(darshan_fd fd, darshan_module_id mod_id,
<span style="color: #000000;background-color: #ffdddd">-    void *mod_buf, int mod_buf_sz);
</span><span style="color: #000000;background-color: #ddffdd">+    void *mod_buf, int mod_buf_sz, int ver);
</span> void darshan_log_close(darshan_fd file);
 
 /* convenience macros for printing Darshan counters */
</code></pre>

<br>
</li>
<li id='diff-22'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-22'>
<strong>
darshan-util/darshan-mpiio-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-mpiio-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-mpiio-logutils.c
</span><span style="color: #aaaaaa">@@ -17,7 +17,7 @@
</span> #include <fcntl.h>
 #include <errno.h>
 
-#include "darshan-mpiio-logutils.h"
<span style="color: #000000;background-color: #ddffdd">+#include "darshan-logutils.h"
</span> 
 /* counter name strings for the MPI-IO module */
 #define X(a) #a,
<span style="color: #aaaaaa">@@ -32,9 +32,9 @@ char *mpiio_f_counter_names[] = {
</span> 
 static int darshan_log_get_mpiio_file(darshan_fd fd, void* mpiio_buf,
     darshan_record_id* rec_id);
-static int darshan_log_put_mpiio_file(darshan_fd fd, void* mpiio_buf);
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_mpiio_file(darshan_fd fd, void* mpiio_buf, int ver);
</span> static void darshan_log_print_mpiio_file(void *file_rec,
<span style="color: #000000;background-color: #ffdddd">-    char *file_name, char *mnt_pt, char *fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+    char *file_name, char *mnt_pt, char *fs_type, int ver);
</span> 
 struct darshan_mod_logutil_funcs mpiio_logutils =
 {
<span style="color: #aaaaaa">@@ -75,13 +75,13 @@ static int darshan_log_get_mpiio_file(darshan_fd fd, void* mpiio_buf,
</span>     }
 }
 
-static int darshan_log_put_mpiio_file(darshan_fd fd, void* mpiio_buf)
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_mpiio_file(darshan_fd fd, void* mpiio_buf, int ver)
</span> {
     struct darshan_mpiio_file *file = (struct darshan_mpiio_file *)mpiio_buf;
     int ret;
 
     ret = darshan_log_putmod(fd, DARSHAN_MPIIO_MOD, file,
<span style="color: #000000;background-color: #ffdddd">-        sizeof(struct darshan_mpiio_file));
</span><span style="color: #000000;background-color: #ddffdd">+        sizeof(struct darshan_mpiio_file), ver);
</span>     if(ret < 0)
         return(-1);
 
<span style="color: #aaaaaa">@@ -89,7 +89,7 @@ static int darshan_log_put_mpiio_file(darshan_fd fd, void* mpiio_buf)
</span> }
 
 static void darshan_log_print_mpiio_file(void *file_rec, char *file_name,
<span style="color: #000000;background-color: #ffdddd">-    char *mnt_pt, char *fs_type)
</span><span style="color: #000000;background-color: #ddffdd">+    char *mnt_pt, char *fs_type, int ver)
</span> {
     int i;
     struct darshan_mpiio_file *mpiio_file_rec =
</code></pre>

<br>
</li>
<li id='diff-23'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-23'>
<strong>
darshan-util/darshan-mpiio-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-mpiio-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-mpiio-logutils.h
</span><span style="color: #aaaaaa">@@ -7,9 +7,6 @@
</span> #ifndef __DARSHAN_MPIIO_LOG_UTILS_H
 #define __DARSHAN_MPIIO_LOG_UTILS_H
 
-#include "darshan-logutils.h"
-#include "darshan-mpiio-log-format.h"
-
 extern char *mpiio_counter_names[];
 extern char *mpiio_f_counter_names[];
 
</code></pre>

<br>
</li>
<li id='diff-24'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-24'>
<strong>
darshan-util/darshan-null-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-null-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-null-logutils.c
</span><span style="color: #aaaaaa">@@ -17,7 +17,7 @@
</span> #include <fcntl.h>
 #include <errno.h>
 
-#include "darshan-null-logutils.h"
<span style="color: #000000;background-color: #ddffdd">+#include "darshan-logutils.h"
</span> 
 /* integer counter name strings for the NULL module */
 #define X(a) #a,
<span style="color: #aaaaaa">@@ -34,9 +34,9 @@ char *null_f_counter_names[] = {
</span> /* prototypes for each of the NULL module's logutil functions */
 static int darshan_log_get_null_record(darshan_fd fd, void* null_buf,
     darshan_record_id* rec_id);
-static int darshan_log_put_null_record(darshan_fd fd, void* null_buf);
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_null_record(darshan_fd fd, void* null_buf, int ver);
</span> static void darshan_log_print_null_record(void *file_rec,
<span style="color: #000000;background-color: #ffdddd">-    char *file_name, char *mnt_pt, char *fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+    char *file_name, char *mnt_pt, char *fs_type, int ver);
</span> 
 /* structure storing each function needed for implementing the darshan
  * logutil interface. these functions are used for reading, writing, and
<span style="color: #aaaaaa">@@ -91,14 +91,14 @@ static int darshan_log_get_null_record(darshan_fd fd, void* null_buf,
</span> /* write the NULL record stored in 'null_buf' to log file descriptor 'fd'.
  * Return 0 on success, -1 on failure
  */
-static int darshan_log_put_null_record(darshan_fd fd, void* null_buf)
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_null_record(darshan_fd fd, void* null_buf, int ver)
</span> {
     struct darshan_null_record *rec = (struct darshan_null_record *)null_buf;
     int ret;
 
     /* append NULL record to darshan log file */
     ret = darshan_log_putmod(fd, DARSHAN_NULL_MOD, rec,
<span style="color: #000000;background-color: #ffdddd">-        sizeof(struct darshan_null_record));
</span><span style="color: #000000;background-color: #ddffdd">+        sizeof(struct darshan_null_record), ver);
</span>     if(ret < 0)
         return(-1);
 
<span style="color: #aaaaaa">@@ -107,7 +107,7 @@ static int darshan_log_put_null_record(darshan_fd fd, void* null_buf)
</span> 
 /* print all I/O data record statistics for the given NULL record */
 static void darshan_log_print_null_record(void *file_rec, char *file_name,
<span style="color: #000000;background-color: #ffdddd">-    char *mnt_pt, char *fs_type)
</span><span style="color: #000000;background-color: #ddffdd">+    char *mnt_pt, char *fs_type, int ver)
</span> {
     int i;
     struct darshan_null_record *null_rec =
</code></pre>

<br>
</li>
<li id='diff-25'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-25'>
<strong>
darshan-util/darshan-null-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-null-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-null-logutils.h
</span><span style="color: #aaaaaa">@@ -7,9 +7,6 @@
</span> #ifndef __DARSHAN_NULL_LOG_UTILS_H
 #define __DARSHAN_NULL_LOG_UTILS_H
 
-#include "darshan-logutils.h"
-#include "darshan-null-log-format.h"
-
 /* declare NULL module counter name strings and logutil definition as
  * extern variables so they can be used in other utilities
  */
</code></pre>

<br>
</li>
<li id='diff-26'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-26'>
<strong>
darshan-util/darshan-parser.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-parser.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-parser.c
</span><span style="color: #aaaaaa">@@ -299,17 +299,17 @@ int main(int argc, char **argv)
</span>     }
 
     /* print breakdown of each log file region's contribution to file size */
<span style="color: #000000;background-color: #ffdddd">-    printf("\n# log file region sizes (compressed)\n");
</span><span style="color: #000000;background-color: #ddffdd">+    printf("\n# log file regions\n");
</span>     printf("# -------------------------------------------------------\n");
     printf("# header: %zu bytes (uncompressed)\n", sizeof(struct darshan_header));
<span style="color: #000000;background-color: #ffdddd">-    printf("# job data: %zu bytes\n", fd->job_map.len);
-    printf("# record table: %zu bytes\n", fd->rec_map.len);
</span><span style="color: #000000;background-color: #ddffdd">+    printf("# job data: %zu bytes (compressed)\n", fd->job_map.len);
+    printf("# record table: %zu bytes (compressed)\n", fd->rec_map.len);
</span>     for(i=0; i<DARSHAN_MAX_MODS; i++)
     {
         if(fd->mod_map[i].len)
         {
<span style="color: #000000;background-color: #ffdddd">-            printf("# %s module: %zu bytes\n", darshan_module_names[i],
-                fd->mod_map[i].len);
</span><span style="color: #000000;background-color: #ddffdd">+            printf("# %s module: %zu bytes (compressed), ver=%d\n",
+                darshan_module_names[i], fd->mod_map[i].len, fd->mod_ver[i]);
</span>         }
     }
 
<span style="color: #aaaaaa">@@ -417,7 +417,7 @@ int main(int argc, char **argv)
</span>             {
                 /* print the corresponding module data for this record */
                 mod_logutils[i]->log_print_record(mod_buf, ref->rec.name,
<span style="color: #000000;background-color: #ffdddd">-                    mnt_pt, fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+                    mnt_pt, fs_type, fd->mod_ver[i]);
</span>             }
 
             /* we calculate more detailed stats for POSIX and MPI-IO modules, 
</code></pre>

<br>
</li>
<li id='diff-27'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-27'>
<strong>
darshan-util/darshan-pnetcdf-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-pnetcdf-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-pnetcdf-logutils.c
</span><span style="color: #aaaaaa">@@ -17,7 +17,7 @@
</span> #include <fcntl.h>
 #include <errno.h>
 
-#include "darshan-pnetcdf-logutils.h"
<span style="color: #000000;background-color: #ddffdd">+#include "darshan-logutils.h"
</span> 
 /* counter name strings for the PNETCDF module */
 #define X(a) #a,
<span style="color: #aaaaaa">@@ -32,9 +32,9 @@ char *pnetcdf_f_counter_names[] = {
</span> 
 static int darshan_log_get_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf,
     darshan_record_id* rec_id);
-static int darshan_log_put_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf);
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf, int ver);
</span> static void darshan_log_print_pnetcdf_file(void *file_rec,
<span style="color: #000000;background-color: #ffdddd">-    char *file_name, char *mnt_pt, char *fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+    char *file_name, char *mnt_pt, char *fs_type, int ver);
</span> 
 struct darshan_mod_logutil_funcs pnetcdf_logutils =
 {
<span style="color: #aaaaaa">@@ -75,13 +75,13 @@ static int darshan_log_get_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf,
</span>     }
 }
 
-static int darshan_log_put_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf)
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf, int ver)
</span> {
     struct darshan_pnetcdf_file *file = (struct darshan_pnetcdf_file *)pnetcdf_buf;
     int ret;
 
     ret = darshan_log_putmod(fd, DARSHAN_PNETCDF_MOD, file,
<span style="color: #000000;background-color: #ffdddd">-        sizeof(struct darshan_pnetcdf_file));
</span><span style="color: #000000;background-color: #ddffdd">+        sizeof(struct darshan_pnetcdf_file), ver);
</span>     if(ret < 0)
         return(-1);
 
<span style="color: #aaaaaa">@@ -89,7 +89,7 @@ static int darshan_log_put_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf)
</span> }
 
 static void darshan_log_print_pnetcdf_file(void *file_rec, char *file_name,
<span style="color: #000000;background-color: #ffdddd">-    char *mnt_pt, char *fs_type)
</span><span style="color: #000000;background-color: #ddffdd">+    char *mnt_pt, char *fs_type, int ver)
</span> {
     int i;
     struct darshan_pnetcdf_file *pnetcdf_file_rec =
</code></pre>

<br>
</li>
<li id='diff-28'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-28'>
<strong>
darshan-util/darshan-pnetcdf-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-pnetcdf-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-pnetcdf-logutils.h
</span><span style="color: #aaaaaa">@@ -7,9 +7,6 @@
</span> #ifndef __DARSHAN_PNETCDF_LOG_UTILS_H
 #define __DARSHAN_PNETCDF_LOG_UTILS_H
 
-#include "darshan-logutils.h"
-#include "darshan-pnetcdf-log-format.h"
-
 extern char *pnetcdf_counter_names[];
 extern char *pnetcdf_f_counter_names[];
 
</code></pre>

<br>
</li>
<li id='diff-29'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-29'>
<strong>
darshan-util/darshan-posix-logutils.c
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-posix-logutils.c
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-posix-logutils.c
</span><span style="color: #aaaaaa">@@ -17,7 +17,7 @@
</span> #include <fcntl.h>
 #include <errno.h>
 
-#include "darshan-posix-logutils.h"
<span style="color: #000000;background-color: #ddffdd">+#include "darshan-logutils.h"
</span> 
 /* counter name strings for the POSIX module */
 #define X(a) #a,
<span style="color: #aaaaaa">@@ -32,9 +32,9 @@ char *posix_f_counter_names[] = {
</span> 
 static int darshan_log_get_posix_file(darshan_fd fd, void* posix_buf,
     darshan_record_id* rec_id);
-static int darshan_log_put_posix_file(darshan_fd fd, void* posix_buf);
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_posix_file(darshan_fd fd, void* posix_buf, int ver);
</span> static void darshan_log_print_posix_file(void *file_rec,
<span style="color: #000000;background-color: #ffdddd">-    char *file_name, char *mnt_pt, char *fs_type);
</span><span style="color: #000000;background-color: #ddffdd">+    char *file_name, char *mnt_pt, char *fs_type, int ver);
</span> 
 struct darshan_mod_logutil_funcs posix_logutils =
 {
<span style="color: #aaaaaa">@@ -75,13 +75,13 @@ static int darshan_log_get_posix_file(darshan_fd fd, void* posix_buf,
</span>     }
 }
 
-static int darshan_log_put_posix_file(darshan_fd fd, void* posix_buf)
<span style="color: #000000;background-color: #ddffdd">+static int darshan_log_put_posix_file(darshan_fd fd, void* posix_buf, int ver)
</span> {
     struct darshan_posix_file *file = (struct darshan_posix_file *)posix_buf;
     int ret;
 
     ret = darshan_log_putmod(fd, DARSHAN_POSIX_MOD, file,
<span style="color: #000000;background-color: #ffdddd">-        sizeof(struct darshan_posix_file));
</span><span style="color: #000000;background-color: #ddffdd">+        sizeof(struct darshan_posix_file), ver);
</span>     if(ret < 0)
         return(-1);
 
<span style="color: #aaaaaa">@@ -89,7 +89,7 @@ static int darshan_log_put_posix_file(darshan_fd fd, void* posix_buf)
</span> }
 
 static void darshan_log_print_posix_file(void *file_rec, char *file_name,
<span style="color: #000000;background-color: #ffdddd">-    char *mnt_pt, char *fs_type)
</span><span style="color: #000000;background-color: #ddffdd">+    char *mnt_pt, char *fs_type, int ver)
</span> {
     int i;
     struct darshan_posix_file *posix_file_rec =
</code></pre>

<br>
</li>
<li id='diff-30'>
<a href='https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d#diff-30'>
<strong>
darshan-util/darshan-posix-logutils.h
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/darshan-util/darshan-posix-logutils.h
</span><span style="color: #000000;background-color: #ddffdd">+++ b/darshan-util/darshan-posix-logutils.h
</span><span style="color: #aaaaaa">@@ -7,9 +7,6 @@
</span> #ifndef __DARSHAN_POSIX_LOG_UTILS_H
 #define __DARSHAN_POSIX_LOG_UTILS_H
 
-#include "darshan-logutils.h"
-#include "darshan-posix-log-format.h"
-
 extern char *posix_counter_names[];
 extern char *posix_f_counter_names[];
 
</code></pre>

<br>
</li>

</div>
<div class='footer' style='margin-top: 10px;'>
<p>

<br>
<a href="https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d">View it on GitLab</a>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":["merge_requests","issues","commit"],"url":"https://xgitlab.cels.anl.gov/darshan/darshan/compare/8731ade9ebdf93664a369aee29a6af4e2bb3e02f...173d38b85c7fc065820f2f700c3c109b605e036d"}}</script>
</p>
</div>
</body>
</html>