5
C 프로그램에서 리눅스 커널이 SSD 디스크의 블록을 TRIM으로 바꾸라고 어떻게 말합니까? 나는 open()
장치와 fcntl()
장치를 가지고 있다고 가정합니다. 일반 (즉, 다른 SSD 디스크로 작업)SSD 디스크에서 블록을 트림하는 방법은 무엇입니까?
참고 : 원시 데이터 만 장치에 ext4 파일 시스템이 없습니다.
C 프로그램에서 리눅스 커널이 SSD 디스크의 블록을 TRIM으로 바꾸라고 어떻게 말합니까? 나는 open()
장치와 fcntl()
장치를 가지고 있다고 가정합니다. 일반 (즉, 다른 SSD 디스크로 작업)SSD 디스크에서 블록을 트림하는 방법은 무엇입니까?
참고 : 원시 데이터 만 장치에 ext4 파일 시스템이 없습니다.
IOCATADELETE
으로 보내주십시오. 다음과 같은 내용 :
//header - may already be defined
#define IOCATADELETE _IOW('a', 104, off_t[2])
//code
int fd = open("/dev/abc", O_RDWR | O_DIRECT);
off_t ioarg[2];
ioarg[0] = 0; //block number
ioarg[1] = 0; //size
ioctl(fd, IOCATADELETE, ioarg);
close(fd);
감사합니다. 이것은 내가 필요한 것입니다. – Nulik
"104"는 무엇입니까? TRIM 명령의 번호입니까 아니면 여러 개의 숫자로 구성되어 있습니까? –