Как отобразить запрос блочного устройства в пространство пользователя? - PullRequest
0 голосов
/ 01 ноября 2019

Мое решение - создать символьное устройство, привязанное к блочному устройству. И реализация mmap связанного интерфейса устройства char. Каждый раз, когда блочное устройство получает запрос, скажите ему, чтобы устройство char отображало страницу bv_ в пользовательское пространство.

Но при обработке ошибки страницы возникает некоторая проблема.

  1. bv_page заблокирован перед mmap, поэтому запрос будет ждать вечно. Можно ли вернуть VM_FAULT_LOCKED для обработки ошибок страницы?

  2. ядро ​​обработало backing_dev_info страницы, но связанный с ним индекс равен NULL.

ИтакИнтересно, возможно ли мое решение?

Или есть какое-то другое решение для отображения запроса блочного устройства в пространство пользователя?

...