Редактирование и перекомпиляция структур данных ядра Ubuntu

Я пытаюсь добавить новую операцию блочного устройства в

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.

0
задан 7 November 2017 в 19:52

0 ответов

Другие вопросы по тегам:

Похожие вопросы: