C 언어에서 두 파일의 일정 구간을 복사할 때 커널에 복사 작업을 맡기는 함수다.
헤더와 선언
#include <unistd.h>
ssize_t copy_file_range(int fd_in,
off64_t * off_in,
int fd_out,
off64_t * off_out,
size_t len,
unsigned int flags);반환값과 주의점
복사한 바이트 수, 더 읽을 내용이 없으면 0, 오류면 -1이다.
파일 시스템에 따라 최적화 방식과 지원 범위가 다르다. 반환된 길이로 진행 위치를 계산해야 하며 일반 read/write 대체 경로가 필요한 경우도 있다.
답글 달기