Jaki jest sens rootwait / rootdelay?

23

rootwaiti rootdelaysą używane w sytuacjach, gdy system plików nie jest natychmiast dostępny, na przykład, jeśli został wykryty asynchronicznie lub zamontowany przez USB. Chodzi o to, że jeśli tak jest, to powinno być oczywiste na podstawie rootbootarg, więc dlaczego jądro nie może automatycznie zrozumieć, że musi czekać na pojawienie się systemu plików? Czy istnieją jakieś ograniczenia techniczne uniemożliwiające wdrożenie tej automatyzacji?

EpsilonVector
źródło
1
Myślę, że jądro czeka na pojawienie się systemu plików. Problem polega na tym, że nie można go zamontować tak szybko, jak się pojawi, ponieważ sterownik potrzebuje trochę czasu na zainicjowanie, nawet po odczytaniu tablicy partycji.
vikraman
1
Dlaczego jest to oczywiste w katalogu głównym bootarg? Skąd wiesz, że /dev/sda1jest to urządzenie USB i czekasz chwilę lub /dev/sda1jest w systemie SCSI, który musi skanować?
Ulrich Dangel
1
Na Raspberry Pi, jeśli nie czekasz, możesz nie być w stanie zamontować roota; dzieje się tak, ponieważ urządzenie może nie być wystarczająco szybkie, aby zainicjować wolną kartę na czas.
Tamara Wijsman,

Odpowiedzi:

21

Czasami system operacyjny nie potrafi odróżnić urządzenia peryferyjnego, które reaguje wolno, od urządzenia peryferyjnego, którego nie ma lub jest całkowicie zamknięte. Najbardziej oczywistym przykładem jest główny system plików pochodzący z sieci (TFTP, NFS), w którym powolne łącze sieciowe lub przeciążony serwer są trudne do odróżnienia od odciętego łącza sieciowego lub awarii serwera. Limit czasu informuje jądro, kiedy należy się poddać.

Może się tak również zdarzyć w przypadku dysków, które wolno się rozpędzają, macierzy RAID, które należy zweryfikować i tak dalej. rootdelayinstruuje jądro, aby nie poddawało się natychmiast, jeśli urządzenie nie jest dostępne. Jądro nie może wiedzieć, czy dysk SCSI jest dyskiem lokalnym, czy jakąś wnęką RAID.

rootwaitjest przewidziane, aby czekać bez końca. Nie zawsze jest to pożądane, na przykład system może chcieć wrócić do innego głównego systemu plików, jeśli normalny trwa zbyt długo, aby odpowiedzieć.

Gilles „SO- przestań być zły”
źródło