ss: fix common node header size and check free space
authorLoïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Tue, 18 Oct 2016 16:14:30 +0000 (12:14 -0400)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Wed, 19 Oct 2016 16:25:21 +0000 (12:25 -0400)
COMMON_HEADER_SIZE had not been corrected after modifying strings
sections.
Check that node free space is consistent with what is written to
disk.

Change-Id: I9186f8b2e32159d9f2c771358c337aaf0ebb38c3
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Reviewed-on: https://git.eclipse.org/r/83456
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/backend/historytree/HTNode.java

index 9cada2d4f4e989f8ea981490187fd168b34ba40e..fe52f636311834a6b37e2205105a299046b22598 100644 (file)
@@ -99,14 +99,13 @@ public abstract class HTNode {
      * <pre>
      *  1 - byte (type)
      * 16 - 2x long (start time, end time)
-     * 16 - 4x int (seq number, parent seq number, intervalcount,
-     *              strings section pos.)
+     * 16 - 3x int (seq number, parent seq number, intervalcount)
      *  1 - byte (done or not)
      * </pre>
      */
     private static final int COMMON_HEADER_SIZE = Byte.BYTES
             + 2 * Long.BYTES
-            + 4 * Integer.BYTES
+            + 3 * Integer.BYTES
             + Byte.BYTES;
 
     // ------------------------------------------------------------------------
@@ -268,7 +267,9 @@ public abstract class HTNode {
 
             /* Back to us, we write the intervals */
             fIntervals.forEach(i -> i.writeInterval(buffer));
-
+            if (blockSize - buffer.position() != getNodeFreeSpace()) {
+                throw new IllegalStateException("Wrong free space: Actual: " + (blockSize - buffer.position()) + ", Expected: " + getNodeFreeSpace()); //$NON-NLS-1$ //$NON-NLS-2$
+            }
             /*
              * Fill the rest with zeros
              */
This page took 0.025874 seconds and 5 git commands to generate.