zoukankan      html  css  js  c++  java
  • 文件打开方式O_DSYNC、O_RSYNC、O_SYNC

    O_DSYNC:

    每次write都等待物理I/O完成,但是如果写操作不影响读取刚写入的数据,则不等待文件属性更新

    O_RSYNC:

    每个以文件描述符作为参数的read操作等待,直到所有对文件同一部分的未决写操作完成

    O_SYNC:

    每次write都等到物理I/O完成,包括write引起的文件属性的更新

    • O_SYNC: requires that any write operations block until all data and all metadata have been written to persistent storage.
    • O_DSYNC: like O_SYNC, except that there is no requirement to wait for any metadata changes which are not necessary to read the just-written data. In practice, O_DSYNC means that the application does not need to wait until ancillary information (the file modification time, for example) has been written to disk. Using O_DSYNC instead of O_SYNC can often eliminate the need to flush the file inode on a write.
    • O_RSYNC: this flag, which only affects read operations, must be used in combination with either O_SYNC or O_DSYNC. It will cause aread() call to block until the data (and maybe metadata) being read has been flushed to disk (if necessary). This flag thus gives the kernel the option of delaying the flushing of data to disk; any number of writes can happen, but data need not be flushed until the application reads it back.
  • 相关阅读:
    【HDU】2461 Rectangles
    【POJ】2409 Let it Bead
    【HDU】3208 Integer’s Power
    【HDU】1812 Count the Tetris
    【POJ】2888 Magic Bracelet
    【HDU】2865 Birthday Toy
    黑白色的华为(6) 不是银弹的银弹
    黑白色的华为(10) 不是答案的答案
    ubuntu上升级cmake到3.16版本
    黑白色的华为(8) 从加法到减法
  • 原文地址:https://www.cnblogs.com/buptlyn/p/4139407.html
Copyright © 2011-2022 走看看