から man mount_unionfs
:
BUGS:
THIS FILE SYSTEM TYPE IS NOT YET FULLY SUPPORTED (READ: IT DOESN'T WORK)
AND USING IT MAY, IN FACT, DESTROY DATA ON YOUR SYSTEM. USE AT YOUR OWN
RISK. BEWARE OF DOG. SLIPPERY WHEN WET. BATTERIES NOT INCLUDED.
This code also needs an owner in order to be less dangerous
ちょっと怖いえ?いくつかの問題について説明しますが、問題の範囲とエッジケースを確認するには、ファイルシステムの処理に関する専門知識が必要です。
それにもかかわらず、おそらくそれはよく知られているか、より多くの知識を持っている人には明らかです:
重大な問題が発生する可能性があるのは、特定の用途、または特定の可能性が低い/簡単に回避できるエッジケースの下でのみ発生する危険性が十分に定義されていますか?または、「データが重要でない場合は、頭に銃を持っていても、unionfsマウントを使用してください」
FreeBSDのunionfs
本当にはそんなに悪いです。
下位層と上位層の両方に同じ名前のファイルがある場合、カーネルはbothを返し、重複はユーザーランドでフィルターで除外する必要があります。
FreeBSDのopendir(3)
の- source からの引用:
/* * The strategy here is to read all the directory * entries into a buffer, sort the buffer, and * remove duplicate entries by setting the inode * number to zero. * * We reopen the directory because _getdirentries() * on a MNT_UNION mount modifies the open directory, * making it refer to the lower directory after the * upper directory's entries are exhausted. * This would otherwise break software that uses * the directory descriptor for fchdir or *at * functions, such as fts.c. */
それがお腹を回すのに十分でないなら、私は何が起こるかわかりません;-)
Mount_unionfsは、2つのソースのいずれかが読み取り専用である環境でのみ使用する必要があります。
そうは言っても、私はNAS4Freeサーバーでそのコンテキストで5年以上使用しています(「埋め込み」インストールに追加のパッケージをインストールするため)。私はその間ずっとそれで単一の問題を抱えていませんでした。特に、セットアップは非常に迅速で簡単です。刑務所と比較して。