当前位置:  技术问答>linux和unix

write后不fsync,为什么仍然能read成功?

    来源: 互联网  发布时间:2017-04-27

    本文导语:  理论上write进缓冲区高速缓存,要过一段时间等待update或者缓冲区满才写磁盘吧。为什么我write以后,直接read一点问题都没有呢?看别人做APUE上面这个地方的测试,fsync后read都无效,我的怎么不fsync,read都OK,给跪啊...

理论上write进缓冲区高速缓存,要过一段时间等待update或者缓冲区满才写磁盘吧。为什么我write以后,直接read一点问题都没有呢?看别人做APUE上面这个地方的测试,fsync后read都无效,我的怎么不fsync,read都OK,给跪啊。。。
没有O_*SYNC等标志。
Linux version 3.10.12-100.fc18.x86_64 (mockbuild@bkernel02) (gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) ) #1 SMP Mon Sep 16 13:05:36 UTC 2013

|
      POSIX requires that a read(2) which can be proved to occur after a
       write() has returned returns the new data.  Note that not all
       filesystems are POSIX conforming.

楼主说的现象应该是完全不存在的,write只要返回值表明已经写入内核,那么read就可以读到。至于内核何时将数据写入磁盘,那是pdflush另一码事。

    
 
 

您可能感兴趣的文章:

  • 关于write()和fsync()
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: read_write定义及介绍
  • 对同一设备文件操作,write后,能read出刚write的内容,为什么???
  • read write ??????????????????
  • read 和write问题!
  • read/write 和 fread/fwrite 有什么区别
  • socket中的疑问:read,write和send,recv的区别
  • 有关read,write,open的用法
  • write(1, buf, 8); 和 read(0, buf, 8);
  • Linux下怎么使用write read 操作外设
  • ioctl与read/write的两难境地
  • stdio和read/write,缓冲区写满时阻塞的实现机制是什么
  • connect成功后返回的sockfd在以后read和write出错后是不是也要close一下啊?
  • read、write和close对应到C++库是什么函数
  • 请问,对于管道,如果还没有write就开始read,为什么它的执行效果就跟运行一个无限循环一样?
  • 关于read,write,sleep的问题。
  • socket程序中read字节个数与write字节个数不同
  • 请教read()和write()函数的问题
  • Novell客户端登陆成功后一段时间,不能读写f盘,General reading/writing drive, Rerty,abort,fail?
  • read/write已经有了缓冲实现,为什么fread/fwrite还要实现缓冲?
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 请教:我给 vmware 安装 tools 时,提示 /dev/cdrom/ is write-protected ,mounting reading only ,各位大哥,我这要怎么改啊?谢谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 write():写字符
  • 真实文件系统中的write和aio_write有什么区别
  • java命名空间java.io类outputstream的类成员方法: write定义及介绍
  • generic_file_aio_write_nolock和generic_file_aio_write什么区别啊?
  • java命名空间java.io类filteroutputstream的类成员方法: write定义及介绍
  • [100分求助]预连接:prelink: Could not write /lib/ld-2.5.so: cannot write data to file
  • java命名空间java.util.logging类errormanager的类成员方法: write_failure定义及介绍
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • java命名空间java.io类pipedoutputstream的类成员方法: write定义及介绍
  • 关于socket中write()函数的问题
  • java命名空间java.io接口objectoutput的类成员方法: write定义及介绍
  • Stream.Write 与 StreamWriter.Write 的不同
  • java命名空间java.io类randomaccessfile的类成员方法: write定义及介绍
  • 关于write函数的第三个参数的传递
  • java命名空间java.io类stringwriter的类成员方法: write定义及介绍
  • 请教:socket编程中send和write的区别
  • java命名空间java.io类printwriter的类成员方法: write定义及介绍
  • response.getWriter().write()向前台打印信息乱码问题解决
  • java命名空间java.io类objectoutputstream的类成员方法: write定义及介绍
  • linux下write调用问题
  • java命名空间java.io类chararraywriter的类成员方法: write定义及介绍
  • 一个函数的问题: write(..)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,