1 に答える
4
これらのデバイスにより、実装者は機能のために新しいsyscall
またはを定義することを避けることができioctl
ました。おそらく、そのように実装されたのは、よりシンプルで、更新する必要のあるコードが少なく、懸念されていた可能性のある VFS API を変更しないためです。当時の。
パスを開い/dev/autofs_nowait
てトラバースすると、自動マウントがトリガーされますが、それらが完了するのを待たないでください (そうしないと、ファイルシステムがマウントされるまで、または操作がタイムアウトになるまでプロセスがブロックされます) ENOENT
。たとえすべてがうまくいっても。
OTOH/dev/autofs_notrigger
は、プロセスが自動マウントをトリガーしないようにします。
これらのデバイスが行うのはそれだけです。問題は、Darwin の実装でopen
は、O_NONBLOCK
またはO_NDELAY
.
open
の操作から、vfs からの流れをたどることができますvnode
。
vn_open
->vn_open_auth
->namei
->lookup
-> ...
そのパスの下には、(非) ブロッキング動作の処理はありません。
于 2016-09-21T16:22:47.317 に答える