***本記事にはプロモーションが含まれています。***
QEMUの非同期I/O(AIO)の欠けていた部分を実装することで、QCOWのハードディスクイメージが読めるようになりました。qemu-imgも同様な問題があって、非同期でなくすことも考えたけど、すべて非同期でやることで動くようになりました。RawからQCOWへと、QCOWからRawへの両方コンバートできることを確認しました。
とりあえず動くことは確認できたけど、AIOって本当に難しい。コールバック関数がどう呼ばれ、何をやっているのかまだイマイチわからなかったりします。パッチに直すときは、ちゃんと理解できていたほうがいいですよね。
ハードディスクに関することなので、バグがあったりするとデータの消失につながりますよね。簡単な確認では大丈夫みたいだけれど、負荷がかかったり、ディスクがいっぱいになったときの安定性とかがなんだか心配です。この辺の、データの整合性を試験したりするにはどうすればいいのでしょう。