BP format missing 28 bytes ID info at the end
Created by: pnorbert
See adios 1.x src/core/adios_internals.c:4012 adios_write_index_v1() The last 56 bytes are the file end info, not just the last 28 bytes minifooter. The first 28 bytes are 24 bytes string ID, righ-padded with spaces, "ADIOS-BP v.. " 4 bytes version in binary format: ...0
/* Since ADIOS 1.4 Write new information before the last 24+4 bytes into the footer
New information's format
24 characters: ADIOS-BP v<version>, padded with spaces up to 24
1 byte: major version
1 byte: minor version
1 byte: micro version
1 byte: 0
*/
{
char verstr[25] = " ";
unsigned char ver;
snprintf (verstr, 25, "ADIOS-BP v%-14.14s", VERSION);
buffer_write (buffer, buffer_size, buffer_offset, verstr, 24);
ver = ADIOS_VERSION_MAJOR;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
ver = ADIOS_VERSION_MINOR;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
ver = ADIOS_VERSION_PATCH;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
ver = 0;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
}
// location of the beginning of the indexes (first proc groups then vars)
buffer_write (buffer, buffer_size, buffer_offset, &pg_index_start, 8);
buffer_write (buffer, buffer_size, buffer_offset, &vars_index_start, 8);
buffer_write (buffer, buffer_size, buffer_offset, &attrs_index_start, 8);