Я пытаюсь добавить новую операцию блочного устройства в
struct block_device_operations {
...
int (*open) (struct block_device *, fmode_t);
...
};
, которая определена в Linux-src/include/linux/blkdev.h и
Linux-src/debian/linux-headers-4.4.0-97/usr/src/linux-headers-4.4.0-97/include/linux/blkdev.h.
Я добавил свои новые операции в эти файлы
struct block_device_operations {
...
int (*open) (struct block_device *, fmode_t);
+ long mynewdiskop (struct block_device *, fmode_t, long size, char *val);
...
};
Теперь я пытаюсь использовать это в своем LKM.
static const struct block_device_operations knap_fops = {
.owner = THIS_MODULE,
.rw_page = knap_rw_page,
.ioctl = knap_ioctl,
.mynewdiskop = knap_custom_operation,
};
Однако, когда я пытаюсь скомпилировать мой новый модуль LKM. Я получаю эту ошибку **unkown symbol "mynewdiskop"**.
Что еще нужно сделать, чтобы добавить эту операцию (mynewdiskop) в структуру block_device_operations. И чтобы использовать его мой модуль LKM?
С наилучшими пожеланиями, K.