Quel est l'intérêt de rootwait / rootdelay?

23

rootwaitet rootdelaysont utilisés dans des situations où le système de fichiers n'est pas immédiatement disponible, par exemple s'il est détecté de manière asynchrone ou monté via USB. Le fait est que cela devrait être évident d'après le rootbootarg si c'est le cas ou non, alors pourquoi le noyau ne peut-il pas réaliser automatiquement qu'il doit attendre que le système de fichiers apparaisse? Y a-t-il des contraintes techniques empêchant cette automatisation de se mettre en place?

EpsilonVector
la source
1
Je pense que le noyau attend que le système de fichiers apparaisse. Le problème est qu'il ne peut pas être monté dès qu'il apparaît, car le pilote a besoin d'un certain temps pour s'initialiser même après avoir lu la table de partition.
vikraman
1
Pourquoi est-ce évident sur le bootarg racine? Comment savez-vous qu'il /dev/sda1s'agit d'un périphérique USB et que vous avez attendu un moment ou qu'il /dev/sda1s'agit d'un système scsi qui doit numériser?
Ulrich Dangel
1
Sur un Raspberry Pi, si vous n'attendez pas, vous ne pourrez peut-être pas monter root; cela est dû au fait que l'appareil peut ne pas être assez rapide pour initialiser la carte lente à temps.
Tamara Wijsman

Réponses:

21

Parfois, le système d'exploitation ne peut pas distinguer un périphérique qui est lent à répondre d'un périphérique qui n'est pas là ou complètement arrosé. L'exemple le plus évident est un système de fichiers racine provenant du réseau (TFTP, NFS) où une liaison réseau lente ou un serveur surchargé sont difficiles à distinguer d'une liaison réseau coupée ou d'un serveur en panne. Un timeout indique au noyau quand abandonner.

Cela peut également se produire avec des disques qui tournent lentement, des matrices RAID qui doivent être vérifiées, etc. rootdelayindique au noyau de ne pas abandonner immédiatement si le périphérique n'est pas disponible. Le noyau ne peut pas savoir si un lecteur SCSI est un disque local ou une sorte de baie RAID.

rootwaitest prévu d'attendre indéfiniment. Ce n'est pas toujours souhaitable, par exemple, un système peut vouloir revenir à un autre système de fichiers racine si le système normal prend trop de temps pour répondre.

Gilles 'SO- arrête d'être méchant'
la source