linux에서 mv와 cp 수행시 fsync(sync)를 수행해야 하나요?
글쓴이: muninn / 작성시간: 화, 2013/07/23 - 10:12오전
안녕하세요, 처음으로 문의를 드립니다.
linux system call 관련하여 궁금한게 있어서 질문 드립니다.
파일 무결성 관련해서 같은 파일시스템 안에서 mv는 file table 변경만 있는것으로 알고 있어서, memory에서 disk로의 flush가 필요없는것으로 알고 있습니다. cp의 경우에는 memory에서 disk로 flush가 필요해서 fsync 혹은 sync를 수행해야 하는걸로 알고 있고요.
혹시 제가 알고 있는것이 맞는지 궁금합니다!
Forums:
경험상......
임베디드 디바이스에서는 sync를 하지않을시에 실제 디바이스에 write가 되지않는 경우도 있었습니다.
워낙 빠른 일반 데탑용 리눅스에선크게 상관이 없었던것 같습니다만.....임베디드라면 상관이 있을수도 있습니다.
cp, touch, write마찬가지입니다.
---------------------------------------------------------------
Opensource에 기여하는 것이 꿈입니다.
내가 만든 코드를 모두가 사용할 때 까지~
다른 filesystem으로 file이 move된
다른 filesystem으로 file이 move된 경우, mv는 cp나 다를게 없습니다.
같은 filesystem으로 move된 경우, 원본 파일이 있었던 directory entry와 사본 파일이 있던 directory entry에 대한 sync가 필요할 수 있습니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기