하드디스크의 bad block 관리를 직업 하고싶어서
open() 으로 device (/dev/hdb) 를 연다름
lseek 와 read 로 파티션을 처음 부터 끝까지 검색하면서
배드 블럭이 있는지를 검사하는 툴을 제작중입니다.
작은 파티션은 문제가 아니였는데
오늘 120기가 짜리 하드디스크로 하다보니
lseek 가 2147483648 byte(21억 bytes) 위치에서
잘못된 값(42억bytes)을 return 하네요
21억이 unsigned long 의 최대 값이라
lseek 가 64 를 지원해야 하는것 같습니다.
그래서 lseek64 로 해보았는데도 에러가 나네요