Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1899071
  • 博文数量: 211
  • 博客积分: 464
  • 博客等级: 下士
  • 技术积分: 3794
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-24 18:25
个人简介

阿弥陀佛

文章分类

全部博文(211)

文章存档

2020年(2)

2019年(3)

2018年(5)

2017年(6)

2016年(10)

2015年(9)

2014年(73)

2013年(90)

2012年(13)

发布时间:2013-01-16 16:27:51

在dmu buffer当中,最为常见的是互斥锁,但是有一个问题随之而来,如何使用互斥锁,而且怎么样来规定mutex锁所保护的范围呢?/* db_mtx protects the members below */kmutex_t db_mtx;/* * Current state of the buffer */dbuf_states_t db_state;/* * Refcount accessed by dmu_buf_{hold,rele}..........【阅读全文】

阅读(1361) | 评论(0) | 转发(0)

发布时间:2013-01-15 19:16:05

看了论坛http://bbs.chinaunix.net/thread-4063853-1-1.html里面的讨论,掌握了一个之前一直不会解决的问题。那就是如何运行gdb 带参数调试?比如 ./a.out 1 2 3你如果运行 $gdb ./a.out 1 2 3 肯定会报错。正确的做法是:1,gdb --args ./A V1 V2 V32,gdb ./A,进.........【阅读全文】

阅读(7312) | 评论(0) | 转发(1)

发布时间:2013-01-15 10:47:00

有些时候,在zfs当中,你加入printk语句,发现无法加,会编译报错,而很奇怪的是有些地方可以加printk,而有些地方不能加。根据我的观察发现,只要加入宏定义就可以了。方法如下:#ifdef __KERNEL printk("HELLO WORLD\n");#endif.........【阅读全文】

阅读(1470) | 评论(0) | 转发(0)

发布时间:2013-01-13 20:53:21

    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来查找。 点击(此处)折叠或打开(voi......【阅读全文】

阅读(1598) | 评论(0) | 转发(0)

发布时间:2013-01-11 16:55:22

在对zfs的介绍当中,会提到他会对读写请求排序,然后再合并相邻的请求。这也是可以理解的。通过阅读代码发现,实际上对请求的排序工作都是在avl树当中进行的。 点击(此处)折叠或打开struct vdev_queue {????avl_tree_t????vq_deadline_tree;????avl_tree_t????vq_read_tree;????avl_tree_t??......【阅读全文】

阅读(2163) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

shenyanxxxy2016-01-14 13:19

少林功夫好:楼主能分析一下如何修改源码,然后从内部实现每天生成一个带日期的日志么?

修改源码非一日之功,多阅读开源项目,你说的这个功能用shell + date命令就可以。

回复  |  举报

少林功夫好2016-01-13 15:56

楼主能分析一下如何修改源码,然后从内部实现每天生成一个带日期的日志么?

回复  |  举报

shenyanxxxy2015-05-20 21:25

回复  |  举报
留言热议
请登录后留言。

登录 注册