zfs的双buffer设计问题
来源:互联网 发布:js cookie 代码 编辑:程序博客网 时间:2024/06/05 16:37
zfs是有两个缓冲区的。首先是dmu buffer,如果dmu buffer中没有数据再找arc buffer,如果找到了,那么就直接调用回调函数,将arc buffer的内容传给dmu buffer。如果再找不到就找磁盘。
具体的实现细节如下:
dbuf_read 首先会看 dmu buffer的状态,如果是UNCACHED。
就会调用 dbuf_read_impl函数。
dbuf_read_impl函数会调用dsl_read,进而从arcbuffer中找数据。找的方法是根据db的db_blkptr来查找。
然后调用arc_read函数,从arcbuffer中找。
点击(此处)折叠或打开
- (void) dsl_read(zio, spa, db->db_blkptr, pbuf,
- dbuf_read_done, db, ZIO_PRIORITY_SYNC_READ,
- (*flags & DB_RF_CANFAIL) ? ZIO_FLAG_CANFAIL : ZIO_FLAG_MUSTSUCCEED,
- &aflags, &zb);
真正的函数在这里可以看到 buf_hash_find根据blkptr,来映射到hash表中,经过hash查找,结果返回hdr。
如果找到了,hdr->buf中含有的db想要的数据,说明arc buffer命中。然后调用回调函数返回。如果没找到,那么就向磁盘发请求。
点击(此处)折叠或打开
- hdr = buf_hash_find(guid, BP_IDENTITY(bp), BP_PHYSICAL_BIRTH(bp),
- &hash_lock);
这种双buffer的设计不得不让zfs在写的时候也得考虑arc buffer,也就是在同步dmu buffer的时候,sync_leaf函数会调用arc_write函数,在这个函数当中会给zio设置回调函数,在回调函数当中,将zio的数据传送到arc buffer上(插入算法为HASH算法)。
0
上一篇:zfs的zio代码部分学习
下一篇:zfs如何进入内核态
相关热门文章
- 笔试准备 --- 子字符串查找程...
- 笔试准备 ---约瑟夫环...
- 事务隔离而取不到insert数据...
- system用户远程登录em管理错误...
- 素材全国新钝设想师环保主题计...
- 双机热备Oracle数据库服务器操...
- 双机热备Oracle数据库服务器操...
- 双机热备Oracle数据库服务器操...
- 缘聚湘西南 武冈深圳同乡会 欢...
- 虚拟磁带库 变革数据保护流程(...
- 这样配置的服务器能够承受8k并...
- vm里的系统能够ping到nfs,但...
- bind是否随机从两台master中读...
- 在win7下用cygwin搭建hadoop,...
- Mysql的binglog日志能否分库备...
给主人留下些什么吧!~~
评论热议
- zfs的双buffer设计问题
- buffer类的设计
- stdio 的 buffer 问题
- muduo中buffer的设计
- solaris 的ZFS操作
- ZFS
- ZFS
- buffer设计
- 单buffer,双buffer和三buffer的区别
- 令人心仪的ZFS文件系统
- 创建Solaris10的ZFS文件系统
- 使用ZFS文件系统的zone
- zfs中的锁的使用
- ZFS存储池的创建
- 使用ZFS的十条理由 - ZFS特性介绍
- 在Vultr的VPS上安装支持ZFS的FreeBSD及SMTP问题的解决
- 环形buffer的两种设计方式
- 一个特殊需求的环形Buffer设计
- zfs的块设备写操作很慢的原因分析
- apt-get update 更新源Ubuntu 10.10
- seo行业的隐患
- vmalloc内核函数分析。
- zfs的zio代码部分学习
- zfs的双buffer设计问题
- zfs如何进入内核态
- gdb调试带参数的程序
- zfs中的锁的使用
- mmap优缺点
- 简述bloom filter的作用及原理
- 合并IO代码分析
- c++创建DLL
- 存储自测答案总结
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
天津万花谷论坛
万花谷
万花谷舞蹈
万英语怎么说
万英文
万的英文
万英语
万用英语怎么说
数百万的英语
一万英语
万荟玖珑
东莞万荟时代
奇莫纸尿裤
奇莫拉拉裤
奇莫拉拉裤怎么样
奇莫纸尿裤怎么样
奇莫纸尿裤好不好
伊布拉希莫维奇语录
莫旗同城app
大杨树到莫旗客车时刻表
莫旗个人急售二手房
万菊芬紫砂壶
广州万菱广场附近酒店
万菱广场饰品批发城
广州万菱广场住宿
万菱国际中心
汇菱变频器
广州万菱汇
万菱汇停车场收费
万菱汇公寓
万菱汇商铺
正佳 万菱汇
万菱汇附近酒店
万菱new寓
万菲乐50mg能做几次
万菲乐价格
万菲乐效果
万非乐
万非乐功效
万菲乐可以做几次
中萃花城湾