阿弥陀佛
分类: IT职场
2012-12-22 14:16:59
我现在对脏记录有一些疑问,始终不明白,在zfs中的bio请求传达之前,zfs调用dbuf_will_dirty,在dbuf_will_dirty函数当中,会调用dbuf_dirty,在dbuf_dirty函数当中会产生一个dirty record记录,这个记录会放到db->dirty_records链表当中。此时写操作还没有开始,这个脏记录有什么作用呢?
这个问题,我现在想明白了,他是异步完成的,他会将数据拷贝到脏记录当中,然后等时机成熟了,也就是形成了一个transaction group的时候,zfs的同步thread就开始工作了,开始遍历脏记录来同步数据。