1. 在fuse/lib/fuse_kern_chan.c中有一个buffer设置

  #define MIN_BUFSIZE 0x21000 //十进制132×1024  //为何不是128?

  下面有一句

size_t bufsize = getpagesize() + 0x1000;

看来这多出来的 0x1000 是有特别用途的。

2. 不管怎么样,这个buffer size是怎么被使用的呢?

    对于读操作,可以这样推测。应用调用read,被VFS传递给内核fuse,再到libfuse然后到前端fuse,前端fuse进行实际的读操作,比如读一个EXT4文件,读到的内容返给libfuse,再给内核fuse,再返回给应用。

    那么,对于写操作,前端fuse写一个ext4文件后,内容就通过fwrite写了,这怎么使用上面所提的buffer呢?

      因此,对于read的推测可能也是不准确的。

留待证明。。。。。。。。。

17.5.11

上面的2推测过程是有bug的。写操作的流程应该是这样的。应用调用vfs,将要写的内容传递给内核fuse,内核fuse将内容传递给libfuse,libfuse对这内容进行缓存,达到128KB时调用前端的fuse进行写操作。这样,buffer被怎么用就清楚了。

最新文章

  1. BZOJ 1984: 月下“毛景树” [树链剖分 边权]
  2. ABAP 字符串操作
  3. 你好,欢迎来到我的博客,我是博主royalmice1
  4. 原创:C语言打开、下载、删除网页,统计网页字符个数
  5. js - 驼峰命名
  6. Xshell5最新版激活
  7. BootStrap2学习日记1--网格系统
  8. (转)iOS 证书、密钥及信任服务
  9. C51单片机内存优化
  10. IOS开发之xcode 快捷键
  11. 努比亚 Z5 mini刷机包 omni4.4.2改动V4.0 自用版 精简 MIUI特效
  12. 【原】tinker dex文件格式的dump工具tinker-dex-dump
  13. HttpClient 教程 (二)
  14. IOS使用pods初次加载出现Pods-resources.sh: Permission denied错误的解决方案
  15. js、css等引入文件路径正确,却报404的解决办法
  16. 微信小程序web-view实例
  17. 将逗号分隔的字符串与List互转
  18. Windows Phone 8 获取设备名称
  19. Highstock生成股票K线图
  20. python 异常处理、进程

热门文章

  1. Redis命令行之String
  2. call 和 apply 方法区别
  3. (2)git本地生成SSH关联github
  4. Unity 3D 之通过序列化来存档游戏数据
  5. 洛谷 P1034 矩形覆盖
  6. Angular 组件通讯、生命周期钩子 小结
  7. poj(1011)——Sticks(经典的dfs+剪枝)
  8. 猫猫学IOS(二)UI之button操作 点击变换 移动 放大缩小 旋转
  9. FPGA 功耗结构设计
  10. Ubuntu 16.04 同时使用python3.5