Який сенс rootwait / rootdelay?


23

rootwaitі rootdelayвикористовуються в ситуаціях, коли файлова система недоступна відразу, наприклад, якщо вона виявлена ​​асинхронно або встановлена ​​через usb. Справа в тому, що це повинно бути очевидним на основі rootbootarg, якщо це так чи ні, то чому ядро ​​не може автоматично усвідомити, що йому потрібно чекати появи файлової системи? Чи існують якісь технічні обмеження, які не дають можливості здійснити цю автоматизацію?


1
Я думаю, ядро ​​дійсно чекає появи файлової системи. Проблема полягає в тому, що він не може бути змонтований, як тільки з'явиться, тому що драйверу потрібен певний час для ініціалізації навіть після прочитання таблиці розділів.
vikraman

1
Чому це очевидно на кореневому завантажувачі? Звідки ви знаєте, що /dev/sda1це USB-пристрій, і ви почекаєте деякий час, або /dev/sda1це в системі scsi, яка повинна сканувати?
Ульріх Дангель

1
На Raspberry Pi, якщо ви не чекаєте, можливо, ви не зможете змонтувати корінь; це тому, що пристрій може виявитися недостатньо швидким, щоб вчасно ініціалізувати повільну карту.
Тамара Війсман

Відповіді:


21

Іноді ОС не може відрізнити периферійний апарат, який повільно реагує, на периферійний апарат, якого немає, або повністю шланговий. Найбільш очевидний приклад - коренева файлова система, що надходить з мережі (TFTP, NFS), де повільне мережеве посилання або перевантажений сервер важко відрізнити від розірваного мережевого посилання або сервера, що вийшов з ладу. Час очікування повідомляє ядру, коли потрібно відмовитися.

Це також може статися з дисками, які повільно згортаються, RAID-масивами, які потрібно перевірити тощо. rootdelayвказує ядру не здаватися негайно, якщо пристрій недоступний. Ядро не може знати, чи є SCSI-накопичувач локальним диском або якимось RAID-відсіком.

rootwaitпередбачено чекати нескінченно. Це не завжди бажано, наприклад, наприклад, система може захотіти повернутися до іншої кореневої файлової системи, якщо для нормальної потрібна відповідь занадто багато часу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.