Exceptions to Open Group technical standards
GPFS is designed in a way that most applications written to the Open Group technical standard for file system calls can access the GPFS data without any modification. However, there are some exceptions.
- exact mtime
- mtime
- ctime
- atime
These values will be accurate on a node after it accesses or modifies a file, but may not be accurate for a short while when a file is accessed or modified on some other node.
If 'exact mtime' is specified for a file system (using the mmcrfs or mmchfs commands with the -E yes flag), the mtime and ctime values are always correct by the time the stat() call gives its answer. If 'exact mtime' is not specified, these values will be accurate after a couple of minutes, to allow the synchronization daemons to propagate the values to all nodes. Regardless of whether 'exact mtime' is specified, the atime value will be accurate after a couple of minutes, to allow for all the synchronization daemons to propagate changes.
Alternatively, you may use the GPFS calls, gpfs_stat() and gpfs_fstat() to return exact mtime and atime values.
The delayed update of the information returned by the stat() call also impacts system commands which display disk usage, such as du or df. The data reported by such commands may not reflect changes that have occurred since the last sync of the file system. For a parallel file system, a sync does not occur until all nodes have individually synchronized their data. On a system with no activity, the correct values will be displayed after the sync daemon has run on all nodes.