テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(writeboost report) 2.2.8をリリースした

今ライトブーストは半年に一回ほどの頻度でメンテナンスリリースをしている. これはほとんどの場合, 新しいカーネルコンパイルが出来なくなったというものであるが, 本質的なバグが指摘されることもある. バグの場合は, その重要度において意図的に放置したりもする. 新しいバージョンを出すとなると自分自身も作業も発生するし, 色々なディストリでのパッケージが更新されるため, そんなにカジュアルにはリリース出来ないからだ.

github.com

github.com

今回もだいぶ前に指摘が入っていたが, 結果としては4.14-rcまで待って良かった. 4.14ではさらに, ブロックレイヤの変更が入っていて, もし4.13の時に急いでリリースしていたら4.14向けにまたリリースをすることになっていた. 4.14はLTSになるということなので, 対応は必須だからだ. Linux 4.14 Will Indeed Be A Long-Term Support Release - Phoronix

最終的なタイミングとしては, Debianから4.13でコンパイル出来ないと怒られてしまったため, それから1週間でリリースとなった. Debianに切られることはライトブーストにとってかなり痛手だからだ.

#877945 - dm-writeboost-dkms: module FTBFS for Linux 4.13: error: 'struct bio' has no member named 'bi_error' - Debian Bug report logs

一方で残念なお知らせだが, 新しいバージョンは全てのリグレッションテストを通せなかった. 以前に使っていた環境を一回潰して新しく作り直したのだが, その際に環境がおかしくなってしまい, 今までは観測していなかったreadがユーザランドから飛んでくるようになった. これによってライトブースト内のキャッシュヒットstat情報を使ったホワイトボックステストがいくつか失敗するようになってしまった.

切り分けはかなり苦戦したがわかったため, MLに投稿して質問をしておいた.

[systemd-devel] How to stop systemd-udevd reading a device after dd

これにより原因自体ははっきりしたし多少の改善をすることも出来たが, readを完全に止めることまでは出来なかったため, 50ほどあるテストのうち5つほどはfailしたままとなった. ただ, ブラックボックスは全パスしていることや, 今回修正した箇所は失敗したテストを壊すほどではないことから総合的に判断して, リリースすることにした. 15日にリリースすることはドミトリにコミット済だったからだ. この問題に関してはなんとか対策をして, 次のリリースではリグレッションテストを信用出来るようにしたい. udevに詳しい人がいたら, このメーリスに返答する形で解決法を教えてほしい.

それではライトブースト2.2.8をお楽しみください.