Since your driver's documentation (e.g. here) describes the 'fsync' write concern flag, can you please update its description so that it accurately describes the current behavior, which is:
- 'fsync' is identical to 'j' if mongod is running with a journal (today, 99% of users should be here)
- 'fsync' requests that the write be sync()'d to disk only if mongod is not running with a journal
- 'fsync' cannot be used simultaneously with the 'j' flag
The point is that:
- 'j' means 'sync via the journal if present, or error if not, or if 'fsync' is also set'
- 'fsync' means 'sync via the journal if present, or sync via msync() if there is no journal, and error if 'j' is also set'
Additionally, could you please mark the 'fsync' flag as "Deprecated; do not use", following this commit here
SERVER-11399 for background.