zoukankan      html  css  js  c++  java
  • 很久没来了

    这几天做了一点工作,基本上接近收尾阶段了

    1、hash值按16进制表示转换成文件名
    2、中间目录Mkdir成功
    3、新建文件成功(cp命令测试)
    4、读取文件成功一次

    读取文件是目前尚未解决的问题。因为lookup函数选取不当,往往第一次lookup可以成功,第二此lookup就failed。原因估计是第一次lookup的时候dentry未在缓存队列中,第二次从缓存中读取dentry的过程有错误,需要debug

    此外今天看了一下hidden_dentry的转换,和前几天思考的问题接合起来有点想法不过不知道正确与否

    ((struct smallfs_dentry_info *)(dentry)->d_fsdata)->wdi_dentry

    这个是smallfs_hidden_dentry宏展开的结果,前几次已经说过了。d_fsdata是个空指针(void *)。应用中可能存放着真实dentry的首地址。smallfs_dentry_info数据结构只有一个成员就是wdi_dentry(dentry数据结构),因此首地址应该是重合的。所以将d_fsdata的内容强制类型转换后可以得到smallfs_dentry_info的地址也就是wdi_dentry的地址。

    其余的问题尚未理清头绪,先不要混乱大家的思路了
  • 相关阅读:
    nginx 禁止访问某个目录
    ssh 无法链接的解决思路
    linux 时间修改(同步到时间服务器)
    BitNami Gitlab的重启问题
    gitlab push时报错
    VirtualBox 安装centos后无法上网
    VirtualBox 创建64位系统的问题
    NOIP2010 题解
    NOIP2011 题解
    NOIP2012 题解
  • 原文地址:https://www.cnblogs.com/acesyp/p/227230.html
Copyright © 2011-2022 走看看