Build 16237のWSLに関する変更点
2017年7月8日にリリースされた「Build 16237」の「WSL」に関する変更点の紹介です。リリースノート
変更点の詳細は、リリースノートを参照してください。機能の改善や変更
「Build 16237」で行われた機能の改善や変更です。1.ファイルの拡張属性
「Lxfs」で拡張属性(EA)が見つからないファイルでは、デフォルトの属性を使用するように変更されました。(root, root, 0000)「Lxfs」は、「WSL」内でLinuxのファイルシステムの振る舞いをエミュレートし、Windowsのファイルへアクセスできるようにする仕組みです。
「DrvFs」は、Linuxファイルシステムが持つ固有の機能(大文字・小文字の区別やシンボリックリンクなど)を提供し、WindowsのドライブやWindowsのファイルへのフルアクセスを提供する仕組みです。
「WSL」では、この2つの仕組みを組み合わせ、Windowsのファイルを「WSL」上の「Linux」から利用できるようにしています。
2.拡張属性を使用するディストリビューションのサポート
拡張属性を使用するディストリビューションのサポートが追加されました。3.DrvFs上のアンリンクされたファイルの再オープンが可能に
DrvFs上のアンリンクされたファイルを「procfs」を通じて再オープンできるようになりました。4.WSLの機能の無効化を上書きするグローバルレジストリーキーの追加
WSLの機能(相互運用やドライブのマウント)の無効化を上書きするグローバルレジストリーキーが追加されました。不具合の修正
「Build 16237」で行われた不具合の修正です。1.エントリーのパディングの修正
「getdents」及び「getdents64」システムコールから返されるエントリーのパディングが修正されました。2.shmctl + SHM_STATのパーミッションチェックの修正
「shmctl」システムコールに「SHM_STAT」を指定した際、パーミッションチェックに関する処理が修正されました。これにより改善する問題は、以下を参照してください。
3.epollの初期状態の修正
ttySでepollを使用する際、epollに誤った初期状態が設定されていた不具合が修正されました。これにより改善する問題は、以下を参照してください。
4.DrvFsでreaddirがすべてのエントリーを返さない問題の修正
「DrvFs」で「readdir」がすべてのエントリーを返さない問題が修正されました。これにより改善する問題は、以下を参照してください。
5.LxFsのreaddirの修正
アンリンクされているファイルがある時に発生する「readdir」の問題が修正されました。これにより改善する問題は、以下を参照してください。
6.DrvFsのstatのブロックカウントの修正
DrvFs(及びLxfs)のstatのブロックカウントが間違った値になっていたのが修正されました。これにより改善する問題は、以下を参照してください。