しょんぼり技術メモ

まいにちがしょんぼり

FuseでQEMUにディスクイメージを提供する場合に、O_DIRECTフラグ付きのリクエストが来てEINVALを返して終了してしまう場合には、-driveオプションでcache=writethroughを指定すると良い

タイトルで完結シリーズ。
fusefsでディスクイメージを提供しているとき、qemuを起動すると"qemu: could not open disk image"と出て即死してしまう。straceすると、O_DIRECTフラグ付きのリクエストが来ているので、どうもそのあたりがクサい。
で、このO_DIRECTフラグを落とすためには、キャッシュの設定をしてやれば良いらしい。というわけで、cache=writethroughを付けたらO_DIRECTが付かなくなりました。オワリ