파일 작업 aio_read가 커널 4.1에서 변경되었습니다.

파일 작업 aio_read가 커널 4.1에서 변경되었습니다.

유지 관리하는 드라이버가 있고 이를 Linux 헤더 4.1.21로 컴파일해야 하지만 에서 누락된 aio_read컴파일 오류가 발생합니다 . 교체된 것으로 가정합니다. 대안이 무엇인지 어떻게 알 수 있나요?aio_writestruct file_operations

fs.h커널 4.0에서가지다:

struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
ssize_t (*read_iter) (struct kiocb *, struct iov_iter *);
ssize_t (*write_iter) (struct kiocb *, struct iov_iter *);
...  

fs.h커널 4.1에서 가지다:

struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
ssize_t (*read_iter) (struct kiocb *, struct iov_iter *);
ssize_t (*write_iter) (struct kiocb *, struct iov_iter *);
int (*iterate) (struct file *, struct dir_context *);

답변1

커널 작업을 하고 있다면 구독해야 합니다.리눅스 주간 뉴스.

금방 찾았어요이 기사and 에 의해 처리 aio_read되고 있습니다 aio_write.read_iterwrite_iter

다음 사이트에서도 관련 짧은 설명을 찾을 수 있습니다.Documentation/filesystems/porting.

관련 정보