유지 관리하는 드라이버가 있고 이를 Linux 헤더 4.1.21로 컴파일해야 하지만 에서 누락된 aio_read
컴파일 오류가 발생합니다 . 교체된 것으로 가정합니다. 대안이 무엇인지 어떻게 알 수 있나요?aio_write
struct 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_iter
write_iter
다음 사이트에서도 관련 짧은 설명을 찾을 수 있습니다.Documentation/filesystems/porting
.