免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11285 | 回复: 15
打印 上一主题 下一主题

[高级应用] 关于AIX 虚拟文件系统 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2014-06-30 07:54 |显示全部楼层
j2_obsolate是给aix421以前版本vnode格式call入口留下的,现在这几个对应的call都不用了

论坛徽章:
0
2 [报告]
发表于 2014-06-30 11:43 |显示全部楼层
只有你自己写的kernel extension程序可能用vn_rdwr,aix自己不用这几个函数的,没什么困惑。普通用户程序用read/write之类的,最后都是由pager内存直接映像写磁盘,没vn_rdwr什么事情。

论坛徽章:
0
3 [报告]
发表于 2014-06-30 23:11 |显示全部楼层
          是

论坛徽章:
0
4 [报告]
发表于 2014-07-01 06:57 |显示全部楼层
那要看源码的,aix不是开源的吧?

freebsd倒是可看,aix和bsd同源,底层差不多。

论坛徽章:
0
5 [报告]
发表于 2014-07-03 12:01 |显示全部楼层
写得还不清楚?还要怎么清楚啊。。。

b_dev         The major and minor device number.   要读写的设备
b_bcount         The byte count for the data transfer.   读写多少字节

b_blkno         The block number on the device.   偏移

论坛徽章:
0
6 [报告]
发表于 2014-07-04 09:53 |显示全部楼层
pBuff是什么东西?谁告诉你的j2PagerStrategy的入口是struct buf ?你到处瞎指定数据类型还不崩了,另外strategy是中断禁止的调用,你的代码如果没有pin在内存,崩溃太正常了。

截获文件系统读写是可以的,但如果没有源码,直接去使用未公开的调用几乎不可行。还是从公开的interface入手比较好,例如自己做个文件系统的warp,虽然文件系统的接口不算完全公开,但至少ibm没有保密。

我不知道你要加密到什么程度,文件级?文件系统级?vg/lv?磁盘级?越低层越容易,越顶层,越难实现,效果也越差,绕过去的方式也更多。

论坛徽章:
0
7 [报告]
发表于 2014-07-04 21:08 |显示全部楼层
ibm

论坛徽章:
0
8 [报告]
发表于 2014-07-07 22:37 |显示全部楼层
pager本身就是发生数据访问中断才调用的(aix用虚拟内存映射文件,访问到文件的某个位置如果不在物理内存,会产生数据访问中断),而本身pager在调用的时候应当是中断禁止的,你此时去申请内存,我觉得会导致中断重入(就是中断死循环了)而崩溃,或者kernel内存分配程序本身不是pin的。

跟kernel_heap或pinned_head关系不大,但pager相关的程序必须是pinned。你最好提前申请好(要pinned),不要截获了再申请内存,这样看看。

论坛徽章:
0
9 [报告]
发表于 2014-07-10 08:57 |显示全部楼层
buffer 多大?预先估计一个比较大的值,能容下的就处理,不能容下的就报错呗。

if ( (abc & B_READ) == B_WRITE) ....

论坛徽章:
0
10 [报告]
发表于 2014-07-13 07:45 |显示全部楼层
不这样就出鬼了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP