delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

27 Nov 2005

Solaris ZFS代码公开了

这里。ZFS提出了很多很有意思的概念,值得一看。

比较感兴趣的几个地方:(1)Solaris的byteswap实现;(2)DSL;(3)ZIL。暂时还没有仔细看ZIL,但这里有一个很有意思的设计:

  • 内日志(“intent log”)保存在内存中
  • commit操作直接消除内日志
  • fsync或其他原因sync时提交内日志到磁盘上的日志池。

这和SoftUpdates的做法原理上基本一致,但不同之处在于fsync/不得不同步时,写日志。看上去,这种做法从性能方面应该要优于UFS的SoftUpdates(相当于geom的journal层,性能更好的原因是通过日志将写操作扎堆),但疑问是这些在内存严重不足时,应该如何处理?

看了代码再说……