一句话说明sync, fsync, fdatasync的区别

原话来自此处

调用系统函数write时 有写延迟,write负责把东西写到缓存区上,

sync负责把缓存区上的东西排到写队列中(缓冲区->写队列),在由守护进程负责把队列里的东西写到磁盘上,而sync函数在把缓存区上的东西排到写队列后不管写队列中的内容是否写到磁盘上都立即返回。

fsync函数则是对指定文件的操作,而且必须等到写队列中的内容都写到磁盘后才返回,并且更新文件inode结点里的内容。
fdatasync和fsync类似,但是这个函数只更新data块里的内容。(data快不是很理解)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章