文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>随记

随记

时间:2010-05-20  来源:哈哈的雷

 分析fuse 的源码应该说是迫不得已。很多人在介绍fuse 时,可以让不熟悉内核的人员也能编写文件系统。这个还是蛮吸引的。但是实际上要能够编写一个好的类似文件系统。不熟悉内核还真的不行。
  现在吧fuse源码中一些个人感兴趣的地方说明。之前对于fuse中的信息传输通道进行了说明。这应该来说是最为佩服的。能够这样顺畅的使用两种模块,应 用同一种调用机制,灵活的游走在内核和用户态之间。不得不说是一种相当cool的设计。
  自己对于内核并没有太多的兴趣。主要是本职工作不在这里。但是既然进来了。就随意的收集些。先对fuse进行一些说明吧。开始看源码的时候没有什么总结。 现在也没有统一的框架来组织这些,还是有什么感兴趣的地方就说明下。

void request_send(struct fuse_conn *fc, struct fuse_req *req)
{
    req->isreply = 1;
    spin_lock(&fc->lock);
    if (!fc->connected)
        req->out.h.error = -ENOTCONN;
    else if (fc->conn_error)
        req->out.h.error = -ECONNREFUSED;
    else {
        queue_request(fc, req);
        /* acquire extra reference, since request is still needed
         after request_end() */
        __fuse_get_request(req);

        request_wait_answer(fc, req);
    }
    spin_unlock(&fc->lock);
}

以 上的函数 是fuse中用来发送请求的。在fuse 对vfs 提供的文件和目录的接口中都有调用。
相关阅读 更多 +
排行榜 更多 +
超级迈阿密女孩

超级迈阿密女孩

飞行射击 下载
人类与骷髅安卓版

人类与骷髅安卓版

飞行射击 下载
绝地生存战场最新版

绝地生存战场最新版

飞行射击 下载