[완료]linux c언어.. open()을 사용할 때 디스크 데이터블럭 초기화 하는 방법은?
글쓴이: withmelody / 작성시간: 금, 2011/05/06 - 5:39오후
파일을 오픈할떄 O_TRUNC 플래그를 사용하여 초기화를 할 수 있지 말입니다.
그러나 제 짧은 소견으로는 O_TRUNC는 아마도 inode만을 초기화 시켜 주는것 같네요.
open을 할때에 생성되는 파일이 저장되어있는 물리적 디스크의 블럭영역을 초기화 시켜줄 수는 없을까요?
플래그 하나 추가..였나 간단하게 뭐 하나만 하면 초기화 할수 있다고 들었는데 말입니다..
답변 감사드립니다.
Forums:
플래그나 간단하게 하는 방법을 찾기 어렵다면 이렇게
플래그나 간단하게 하는 방법을 찾기 어렵다면 이렇게 해보는 것은 어떨까요?
파일을 O_WRITE|O_TRUNC 모드로 열고나서 fwrite(fp, '0x0', 원하는 만큼);을 하고 난 뒤에 fp를 파일 앞으로 옮겨서 원래 작업을 하는 것은 어떨까 합니다.
감사합니다 ^^
지금 당장 해볼수는 없겠지만 그렇게 하면 될거 같네요!
감사합니다!
posix엔 해당기능이 없을 것 같고 세이님이
posix엔 해당기능이 없을 것 같고 세이님이 말씀하신 것처럼 별도로 처리하던가, srm같은 외부도구를 사용하는게 어떨까 싶네요.
http://en.wikipedia.org/wiki/Srm_(Unix)
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
coreutils에 shred가 포함되어 있습니다.
coreutils에 shred가 포함되어 있습니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기