Ищите, где в исходном коде ядра linux 2.6.33.20 тайм-ауты SCSI создаются/настраиваются

В старых версиях ядра (2.6.25.8) это было в drivers/scsi/scsi_error.c в функциях scsi_add_timer и scsi_delete_timer: http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/drivers/scsi/scsi_error.c?v=2.6.25.8

Кажется, я не могу найти ничего похожего в scsi_error.c в ядре 2.6.33.20, я просматривал другие файлы (используя grep и поиск по времени) и вижу упоминания о тайм-аутах, но ничего похожего на то, где вы' повторно установить значение тайм-аута для таймера.

Любая помощь очень ценится, некоторое время я стучал головой об этом.

Спасибо!


person Jdban101    schedule 20.06.2012    source источник


Ответы (1)


У меня такое ощущение, что то, что вы пытаетесь найти, было изменено в 242f9dcb8ba6f68fcd217a119a7648a4f69290e9, когда тайм-ауты были сняты с конкретных блочных устройств и перемещены на уровень абстракции блочных устройств.

person sarnold    schedule 20.06.2012
comment
Огромное спасибо. Есть ли у вас какие-либо советы о том, как я могу найти этот материал в будущем? Я собираюсь много возиться с ядром. - person Jdban101; 20.06.2012
comment
Для этого конкретного файла я прочитал git log для конкретного файла, который у вас был, и искал time или timer или что-то в этом роде. Один патч исправлял неправильные фигурные скобки, введенные с этим патчем, и запись в журнале изменений для этого патча выглядела идеально. Мне немного повезло, что большое изменение было четко обозначено в журнале, но я, вероятно, все равно нашел бы его в конце концов. - person sarnold; 21.06.2012
comment
Вы использовали этот веб-сайт или реальный репозиторий git? git.kernel.org/? p=linux/ядро/git/торвальдс/ - person Jdban101; 21.06.2012
comment
Я использовал клонированный репозиторий git на своем локальном компьютере; Я включил ссылку, потому что это намного проще для случайного просмотра (вам или другим будущим посетителям), но я бы не стал полагаться исключительно на нее для исследовательской работы - задержка между операциями слишком велика. - person sarnold; 22.06.2012
comment
Я просто клонировал репозиторий, и было очень легко найти изменения. Спасибо. - person Jdban101; 22.06.2012
comment
Я так сильно ненавижу ядро, ха-ха. Я продолжаю смотреть, и кажется, что этот коммит действительно запутал весь код тайм-аута. Не удается найти, где обрабатываются фактические тайм-ауты, аналогичные scsi_add_timer и таймеру удаления до - person Jdban101; 23.06.2012
comment
В block/blk-timeout.c есть blk_add_timer() и blk_delete_timer(), а также несколько полезных утилит. Если вы переносите конкретное исправление, вы можете попытаться повторно внедрить исправление в новую систему, а не пытаться портировать исправление поверх.. (Это очень тонкая разница в подходе, более чем что-либо еще, но вы все равно можете найти это полезным. Я знаю, что у меня есть ..) - person sarnold; 23.06.2012