-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Currently, it's assumed in darshan-core that if there's a shared record across all ranks, that rank 0 has the name for it and can write it to the log file.
It's theoretically possible in the DFS module for rank 0 to not have any name associated with some records. In particular, this can happen when other non-zero ranks open a file and then share the nameless file reference with rank 0 using dfs_obj_local2global()/dfs_obj_global2local(). In this case, no name gets written to the log file for this record, since rank 0 is responsible for writing this but has no record of the initial name.
Note that in the DFS case above, all ranks can still agree on the generated Darshan record ID for the file, since it's based on the underlying OID associated with the file and not the file name (which not all processes are guaranteed to have a record of).
To better handle this, we should update our shared record handling code to somehow allow non-zero ranks to contribute record names to the log file if rank 0 has no record of them.