Как Ubuntu периодически сканирует устройства SCSI?

Я надеюсь, что кто-то здесь может помочь мне понять, как Ubuntu 12.04.3 периодически сканирует шину SCSI.

Я включил SCSI, регистрирующийся через эту команду:

scsi_logging_level -E 3 -S 3 -M 2

Когда я включаю свой BlackBerry 9800, я вижу следующий набор сообщений периодически (режим зарядки, не режим UMASS):

[102356.446327] sd 32:0:0:1: Done: SUCCESS
[102356.446331] sd 32:0:0:1:  Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[102356.446335] sd 32:0:0:1: CDB: Test Unit Ready: 00 20 00 00 00 00
[102356.446343] sd 32:0:0:1:  Sense Key : Not Ready [current] 
[102356.446347] sd 32:0:0:1:  Add. Sense: Medium not present
[102356.446358] sd 32:0:0:0: Send: 
[102356.446361] sd 32:0:0:0: CDB: Test Unit Ready: 00 00 00 00 00 00
[102356.447168] sd 32:0:0:0: Done: SUCCESS
[102356.447172] sd 32:0:0:0:  Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[102356.447176] sd 32:0:0:0: CDB: Test Unit Ready: 00 00 00 00 00 00
[102356.447183] sd 32:0:0:0:  Sense Key : Not Ready [current] 
[102356.447188] sd 32:0:0:0:  Add. Sense: Medium not present

Наконец, когда я переключаюсь на режим UMASS, носитель обнаруживается как подарок и соответствие sd узлы устройства создаются.

Все работает как ожидалось, но я хотел бы понять эту функциональность. Так, что инициировало периодическое сканирование шины? Есть ли сервис где-нибудь, который инициировал это, или это сделано непосредственно ядром?

Обновление I

Сообщения определенно прибывают из ядра, таким образом, я полагаю, что ядро ответственно за сканирование устройств SCSI. Однако мне относительно того, все еще не ясно, что инициировало периодическое пересканирование моего устройства BlackBerry.

1
задан 9 December 2013 в 23:10

1 ответ

Хорошо. Я наконец понял это.

Опрос обрабатывается ядром напрямую. Это не происходит на уровне SCSI, как я изначально думал, но обрабатывается на уровне блочных устройств. Это было добавлено несколько версий ядра назад , однако по умолчанию оно отключено в источнике kernel.org.

Вы можете изменить интервал опроса по умолчанию с помощью следующей команды (вы должны быть пользователем root):

echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs

или версия, удобная для sudo:

echo 2000 | sudo tee -a /sys/module/block/parameters/events_dfl_poll_msecs

Я предполагаю, что во время Ubuntu init, это установлено, или, возможно, они напрямую исправляют исходный код kernel.org со своим собственным значением по умолчанию.

0
ответ дан 9 December 2013 в 23:10

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

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