EN JA
UNDELETE(2)
UNDELETE(2) FreeBSD System Calls Manual UNDELETE(2)

名称

undelete削除したファイルの復旧を試みる

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
undelete( const char *path);

解説

undelete() システムコールは、 path によって指定された削除されたファイルを復旧復することを試みます。現在、これは、指定されたオブジェクトがユニオンファイルシステムのホワイトアウト (修正液で修正) であるとき合に限り、動作します。システムコールは、ホワイトアウトを削除することによって、ユニオンスタックの下層のあらゆるオブジェクトをもう一度も目に見えるようにします。

最終的に、 undelete() 機能は、ログ構造化されたファイルシステムのように削除されたファイルを復旧することができる他のファイルシステムに拡張されます。

戻り値

The undelete() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

undelete() は、次の場合以外成功します:
[ ENOTDIR]
パス接頭辞の構成要素がディレクトリではありません。
[ ENAMETOOLONG]
パス名のの構成要素が、255 文字を越えるか、またはすべてのパス名が、1023 文字を超えました。
[ EEXIST]
パスがホワイトアウトを参照していません。
[ ENOENT]
指定されたホワイトアウトが、存在しません。
[ EACCES]
検索パーミッションが、パス接頭辞の構成要素のために拒否されます。
[ EACCES]
書き込みパーミッションが、未削除であるために名前を含んでいるディレクトリで否定されます。
[ ELOOP]
パス名を変換するときに、あまりにも多くのシンボリックリンクに遭遇しました。
[ EPERM]
名前を含んでいるディレクトリがスティッキとマークされ、含んでいるディレクトリが、実効ユーザ ID によって所有されていません。
[ EINVAL]
パスの最後の構成要素が、‘ ..’です。
[ EIO]
I/O エラーがディレクトリエントリを更新している間に生じました。
[ EROFS]
名前が、読み込み専用のファイルシステムに存在します。
[ EFAULT]
path 引数が、プロセスの割り付けられたアドレス空間の外側を指しています。

関連項目

unlink(2), mount_unionfs(8)

歴史

undelete() システムコールは、 4.4BSD-Lite ではじめて登場しました。
January 22, 2006 FreeBSD