This was never up for debate and is more diversion.
Was someone "saying you have to use mmap or you get data races??"
No, no one was saying that. You need it to do lock free synchronization because you need to map the same memory into two different processes to use atomics.
You asked "Are you saying that without mmap() there will be data races??".
No, they are saying you get a data race if you use read() and write() without file locks.