Qual é o objetivo do rootwait / rootdelay?

23

rootwaite rootdelaysão usados ​​em situações em que o sistema de arquivos não está disponível imediatamente, por exemplo, se for detectado de forma assíncrona ou montado via usb. O problema é que deve ser óbvio com base no rootbootarg, se é esse o caso ou não, então por que o kernel não pode perceber automaticamente que ele precisa esperar o sistema de arquivos aparecer? Existem algumas restrições técnicas que impedem que essa automatização seja implementada?

EpsilonVector
fonte
1
Eu acho que o kernel espera o sistema de arquivos aparecer. O problema é que ele não pode ser montado assim que aparece, porque o driver precisa de algum tempo para inicializar, mesmo após a leitura da tabela de partição.
Vikraman
1
Por que é óbvio na raiz bootarg? Como você sabe que /dev/sda1é um dispositivo USB e espera um pouco ou /dev/sda1está em um sistema SCSI que precisa digitalizar?
precisa
1
Em um Raspberry Pi, se você não esperar, poderá não conseguir montar o root; isso ocorre porque o dispositivo pode não ser rápido o suficiente para inicializar o cartão lento a tempo.
Tamara Wijsman 07/04

Respostas:

21

Às vezes, o sistema operacional não consegue distinguir um periférico que demora a responder de um periférico que não está lá ou é completamente mangueira. O exemplo mais óbvio é um sistema de arquivos raiz proveniente da rede (TFTP, NFS) em que é difícil distinguir um link de rede lento ou um servidor sobrecarregado de um link de rede cortado ou um servidor com falha. Um tempo limite informa ao kernel quando desistir.

Isso também pode acontecer com discos que demoram a girar, matrizes RAID que precisam ser verificadas e assim por diante. rootdelayinstrui o kernel a não desistir imediatamente se o dispositivo não estiver disponível. O kernel não pode saber se uma unidade SCSI é um disco local ou algum tipo de compartimento RAID.

rootwaité fornecido para aguardar indefinidamente. Nem sempre é desejável, por exemplo, um sistema pode querer voltar a um sistema de arquivos raiz diferente se o normal demorar muito para responder.

Gilles 'SO- parar de ser mau'
fonte