Maildir
ダニエル・バーンスタインは、たとえNFS上でも、複数のプロセスがロックせずに同時に書き込もうとしても大丈夫なようにMaildirを設計した。大抵の場合、これがうまく機能しているが、バーンスタインはファイルシステムの実装上の制限を考慮していなかった。ディレクトリをプロセスが読み込む場合 readdir() を使うが、これは一度に全体を読み込むわけではなく、ディレクトリエントリ毎に読み込む。このため一連の readdir() でディレクトリを読み取っている最中に別のプロセスがファイル名の変更を行った場合、タイミングによってはそのファイルのエントリが読み取れないことがある。これは例えば受信メールの一覧を表示させたときにメッセージが消えたように見えることになる(実際にはフラグを付加していただけである)。そして、もう一度一覧表示させると、消えたはずのメッセージが再度出現する。このような問題を回避するため、Maildirのトップを独自にロックする方式を採用しているものもある。例えば、DovecotはMaildirに対して独自のロック機構を使っている。
macOSのHFS Plus(ZFSではない)では、この問題が起きないように見える。Linuxの場合、inotifyでMaildirの変化を監視することで問題を防ぐことができる。例えば、readdirを行った後で、inotifyで新たなファイルが追加されていないかを調べればよい。
Maildir標準はファイル名にコロンを使うため、Microsoft Windows 上では修正なしで実装できない。Windows上でコロンの代わりに別の文字(";"、"-" など)を使えない技術的理由はないが、仕様が更新されていないため、代替に使用する文字について全体的な合意がなされていないという問題がある。そのため、Windows上のあるプログラムがMaildirファイルを書いても、別のプログラムが読めないという問題が発生する。PythonやPerlで書かれMaildirをサポートしているプログラムがあるし、Cygwinなどを使ってUNIX上のプログラムをWindows上で動かすこともできるが、コロンの代替をどうするかという問題が解決しないと動作が保証できない。
また、Windows(特に古いバージョン)ではファイル名更新が不可分操作でないという問題もある。