Я пишу драйвер устройства для жесткого диска, подключенного к сети, и моя проблема заключается в том, что я вижу, что Linux отправляет запросы на мое блочное устройство, которые превышают типичные запросы 4 КБ. На самом деле, поведение, которое я могу заметить, таково. Сначала он отправляет запрос размером 4 КБ, затем второй запрос имеет размер 8 КБ, затем 16 КБ и так далее. Есть ли способ отключить это поведение и ограничить Linux для отправки запросов размером 4 КБ за раз? или это что-то плохое в моем коде?
- Как я рассчитал общий размер запроса: у меня размер сектора установлен на 512 байт. И когда я вызываю
blk_rq_sectorsпо любому запросу, я получаю количество секторов, указанное в этом запросе. Иногда я вижу, что запросы состоят из 8, 16, 32 или 64 секторов.
Спасибо.