免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456
最近访问板块 发新帖
楼主: qtdszws

映射的冲突 [复制链接]

论坛徽章:
0
发表于 2007-06-22 09:25 |显示全部楼层
原帖由 qtdszws 于 2007-6-19 10:27 发表于 1楼  
设备文件和设备上的文件都可以被映射

文件被映射时,都是按照逻辑块顺序被映射到连续的虚拟地址空间和物理页中

而文件在设备上的块是乱序的

如果块大小<物理页大小,那么设备文件和设备上的文件同时 ...



文件和块设备使用的address space是不同的, 块设备上的一个块可能同时映射到两个页中.
一个页属于文件的address space, 另一个属于块设备的address space.

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
发表于 2007-06-23 17:59 |显示全部楼层
原帖由 qtdszws 于 2007-6-21 12:19 发表于 30楼  
在v2.4.0中,对普通文件的读写的buffer_head不进入hash,对设备文件的读写和文件系统的metadata进行读写的buffer_head进入hash
在v2.4.32中,对普通文件的读写和对设备文件的读写的buffer_head都不进入hash,只有对文件系统的metadata进行读写的buffer_head才进入hash


2.4.0,是


2.4.32,  1)  对设备文件读写是针对page的读写,除了使page关联的buffer_head进入lru以外,无其他针对buffer_head的操作。

           2) 对文件系统的metadata进行读写前,为了能够hash搜索到这个buffer_head,会把1)中page所关联的buffer_head
              加入到hash。然后就可以做到:针对metadata进行的读写,都是读写hash中的buffer_head

论坛徽章:
0
发表于 2007-06-23 18:15 |显示全部楼层
>>>2) 对文件系统的metadata进行读写前,为了能够hash搜索到这个buffer_head,会把1)中page所关联的buffer_head加入到hash。然后就可以做到:针对metadata进行的读写,都是读写hash中的buffer_head

"会把1)中page所关联的buffer_head加入到hash"

这句有问题,没有看到具体的代码,请指点

[ 本帖最后由 qtdszws 于 2007-6-24 10:37 编辑 ]

论坛徽章:
0
发表于 2007-06-24 20:45 |显示全部楼层
下面的文字是通过短信询问塑料袋兄的回复
"
可能我说的不清楚吧,我是指的grow_buffers函数

为了读写文件系统的metadata,必然是bread->getblk->grow_buffers->grow_dev_page->find_or_creat_page->hash_page_buffers。

以上就是说,找到块设备文件的page:  grow_dev_page->find_or_creat_page。
但这时page关联的buffer_head本就没有hash,于是现在将它们进行hash: hash_page_buffers
"

跟踪代码后发现,在操作metadata时,实际上已经是对块设备的address space在进行操作了并hash.
page = find_or_create_page(bdev->bd_inode->i_mapping, index, GFP_NOFS);
这样操作块设备和操作metadata就有机地融合一起了

谢谢塑料袋兄和众多高手的指点

论坛徽章:
0
发表于 2010-08-29 19:33 |显示全部楼层
太深奥了,看不明白。。。

论坛徽章:
0
发表于 2010-08-29 22:04 |显示全部楼层
建立/common/staff工作目录:
         对用户taliesin无任何权限
          对其它使用者有rw权限
???????
应该怎么做呀,我做的怎么总是错误哩!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP