UNDELETE(2)

名称
undelete - 削除したファイルの回復

ライブラリ
libc

書式
<unistd.h> int undelete(const char *path)

解説
undelete() 関数は、 path で指定された削除済みファイルを回復しようとします。 現在は、指定されたオブジェクトがユニオンファイルシステムの ホワイトアウトである場合に限って動作します。 このシステムコールはホワイトアウトを削除し、 ユニオンスタックの下層にあるオブジェクトが表示されるようにします。

最終的に undelete() 機能は、その他のログ構造ファイルシステムのような削除済みファイルを 回復できるファイルシステムに拡張されるでしょう。

戻り値

エラー
undelete() は、以下の場合にエラーとなります。

[ENOTDIR]
    パスの構成要素中にディレクトリ以外のものが含まれています。

[ENAMETOOLONG]
    パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。

[EEXIST]
    パスがホワイトアウトを参照していません。

[ENOENT]
    指定されたホワイトアウトが存在しません。

[EACCES]
    前置パス名の構成要素について検索許可が拒否されています。

[EACCES]
    回復するファイルを含むディレクトリについて、書込み許可が拒否されています。

[ELOOP]
    パス名を変換するときに検出されたシンボリックリンクが多すぎます。

[EPERM]
    ファイルを含むディレクトリがスティッキーとマークされ、 そのディレクトリが、有効なユーザ ID に所有されていません。

[EIO]
    ディレクトリエントリの更新している間に入出力エラーが発生しました。

[EROFS]
    指定されたファイルは読取り専用ファイルシステム上にあります。

[EFAULT]
    path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。

関連項目
unlink(2), mount_union(8)

歴史
undelete() 関数呼び出しは、 4.4BSD Lite ではじめて登場しました。