360 Tech Engineering
Dec 14, 2020 · Operations
Understanding Linux I/O Flush: fsync, fdatasync, sync, O_DIRECT, O_SYNC, REQ_PREFLUSH and REQ_FUA
This article explains the differences and purposes of Linux I/O flushing mechanisms—including fsync(), fdatasync(), sync(), the O_DIRECT and O_SYNC open flags, and the REQ_PREFLUSH and REQ_FUA bio request flags—illustrated with dd experiments, kernel flag tables, and practical commands for managing disk write caches.
I/OKernelLinux
0 likes · 12 min read