2014-03-01 2 views
0

커널 모듈에 파일을 쓸 때 vfs_write(...)을 사용하고 있습니다. 파일을 쓰는 동안 오류가 발생하면 변경 사항을 되돌리고 파일을 원래 상태로 복원해야합니다. 현재 쓰여질 파일의 데이터를 담고있는 임시 파일을 유지하려고 생각 중입니다. 임시 파일을 임시 파일로 대체하는 것은 원본 파일로 바꾸지 만 커널 모듈에서는 너무 많은 작업을합니다.커널 모듈에서 변경된 내용을 커널 모듈의 파일로 되 돌리십시오.

내가 여기에 갇혀서이 문제를 알고있는 사람이 있습니까?

+0

왜 처음부터 커널에 파일을 쓰고 있습니까? – tangrs

답변

0

너무 많은 작업 일 수 있지만 올바른 해결 방법이라고 생각됩니다.

또는 커널 사용자 공간 (예 : /proc/ 또는 이와 비슷한 파일에서 데이터를 읽음)에서 데이터를 가져 와서 관련 파일을 자동 교체하십시오.

+0

/proc /에서 정확히 읽거나 쓰는 방법? 그리고 당신이 생각할 수있는 다른 제안들? 임시 파일을 작성하는 것은 커널 모듈에서 너무 많은 소리를냅니다 ... – user3367692

+0

'/ proc'에 사용자 정의 파일을 넣으려면, 예를 들어보십시오 : http://stackoverflow.com/questions/588848/how-to-create-proc -entry-under-proc-driver입니다. 사용자 공간에서이 파일을 읽고 디스크의 파일을 원자 적으로 바꿀 수 있습니다. 아니면 그냥'/ proc'에 넣으면 충분할 것인가? 예를 들어, 디스크의 파일을'/ proc' 파일로 심볼릭 링크 할 수 있습니다. – abligh

+0

안녕하세요, 주어진 파일과 proc 파일을 연결하는 방법에 대한 코드를 제공 할 수 있습니까? (처리 완료 후 주어진 파일을 proc 파일로 바꾸십시오) – user3367692

관련 문제