Xsan 3:snfsdefrag を使った後、「__defragtmp」という不可視ファイルが作成される

OS X Mountain Lion v10.8.4 以前が動作しているシステムで snfsdefrag を使ってファイルをデフラグすると、削除できない「__defragtmp」という不可視ファイルが作成されることがあります。

この問題は、以下の場合に発生します。

  • デフラグしたファイルの名前に、発音区別符号 (アクセント記号、重アクセント記号、またはウムラウト記号) 付き文字などの合成済み Unicode 文字が含まれている。
  • snfsdefrag を root で実行した。
  • 現在の作業ディレクトリが Xsan ボリューム上のディレクトリであるときに snfsdefrag を実行した、または snfsdefrag の再帰オプション (-r) を使用した。

snfsdefrag を実行する前に、すべての Xsan システムを OS X Mountain Lion v10.8.5 以降にアップデートしてください。

以前のバージョンの OS X が動作しているシステムの場合は、snfsdefrag を実行する前に Xsan ボリュームでないパス (ルートディレクトリなど) にディレクトリを変更して問題を回避し、snfsdefrag の再帰オプション (-r) は使わないようにします。

Xsan ボリュームにあるディレクトリで再帰的にファイルをデフラグする必要がある場合は、find ユーティリティから snfsdefrag を実行します。たとえば、以下のコマンドを実行します。

cd /
sudo find /Volumes/MyVolume/some_directory -type f -exec snfsdefrag '{}' \;


または、ファイルの所有者として通常通りに snfsdefrag を使うこともできます。

関連情報

警告メッセージが表示されますが、snfsdefrag によってファイルは問題なくデフラグされます。

snfsdefrag の出力は次のようになります。

$ sudo snfsdefrag -m0 -r -v /Volumes/MyVolume/defrag_test
/Volumes/MyVolume/defrag_test/héllo.txt: 1 extent: can't bulk create temp file "/Volumes/MyVolume/defrag_test/héllo.txt__defragtmp", File exists
new extent count 1, done.
Can't stat '/Volumes/MyVolume/defrag_test/héllo.txt__defragtmp' - No such file or directory


ファイルをデフラグした後、ls を使って、ディレクトリにあるファイルを表示すると、次のように表示されます。

ls: héllo.txt__defragtmp: No such file or directory

残された「__defragtmp」という不可視ファイルはデータを含まないため、無視しても問題ありません。rm コマンドを使って「__defragtmp」ファイルを削除しようとした場合、同じ「No such file or directory」というメッセージが表示されます。

公開日: