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 (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

관련 항목
unlink(2), mount_union(8)

역사
undelete() 함수 호출은, 4.4BSD Lite 그리고 처음 등장했습니다.