¿Cuál es el punto de rootwait / rootdelay?

23

rootwaity rootdelayse utilizan en situaciones en las que el sistema de archivos no está disponible de inmediato, por ejemplo, si se detecta de forma asincrónica o se monta a través de usb. La rootcuestión es que debería ser obvio en función del bootarg si ese es el caso o no, entonces, ¿por qué el núcleo no puede darse cuenta automáticamente de que necesita esperar a que aparezca el sistema de archivos? ¿Existen algunas limitaciones técnicas que impiden la implementación de esta automatización?

EpsilonVector
fuente
1
Creo que el núcleo espera a que aparezca el sistema de archivos. El problema es que no se puede montar tan pronto como aparece, porque el controlador necesita algo de tiempo para inicializarse incluso después de leer la tabla de particiones.
vikraman
1
¿Por qué es obvio en la raíz bootarg? ¿Cómo sabe que /dev/sda1es un dispositivo usb y tiene que esperar un tiempo o que /dev/sda1está en un sistema scsi que tiene que escanear?
Ulrich Dangel
1
En una Raspberry Pi, si no espera, es posible que no pueda montar la raíz; Esto se debe a que el dispositivo puede no ser lo suficientemente rápido como para inicializar la tarjeta lenta a tiempo.
Tamara Wijsman

Respuestas:

21

A veces, el sistema operativo no puede distinguir un periférico que responde lentamente de un periférico que no está allí o que no está completamente conectado. El ejemplo más obvio es un sistema de archivos raíz que proviene de la red (TFTP, NFS) donde un enlace de red lento o un servidor sobrecargado son difíciles de distinguir de un enlace de red cortado o un servidor bloqueado. Un tiempo de espera le dice al núcleo cuándo darse por vencido.

Esto también puede ocurrir con discos que tardan en girar, matrices RAID que deben verificarse, etc. rootdelayindica al kernel que no se rinda de inmediato si el dispositivo no está disponible. El kernel no puede saber si una unidad SCSI es un disco local o algún tipo de bahía RAID.

rootwaitse proporciona para esperar indefinidamente. No siempre es deseable, por ejemplo, un sistema puede querer recurrir a un sistema de archivos raíz diferente si el normal tarda demasiado en responder.

Gilles 'SO- deja de ser malvado'
fuente