Apa gunanya rootwait / rootdelay?

23

rootwaitdan rootdelaydigunakan dalam situasi ketika sistem file tidak segera tersedia, misalnya jika terdeteksi secara tidak sinkron atau dipasang melalui usb. Masalahnya, itu harus jelas berdasarkan pada rootbootarg jika itu yang terjadi atau tidak, jadi mengapa kernel tidak dapat menyadari secara otomatis bahwa ia perlu menunggu sistem file muncul? Apakah ada beberapa kendala teknis yang mencegah otomatisasi ini diterapkan?

EpsilonVector
sumber
1
Saya pikir kernel memang menunggu sistem file muncul. Masalahnya adalah bahwa itu tidak dapat dipasang segera setelah itu muncul, karena driver memerlukan waktu untuk menginisialisasi bahkan setelah membaca tabel partisi.
vikraman
1
Mengapa jelas pada root bootarg? Bagaimana Anda tahu itu /dev/sda1adalah perangkat usb dan Anda harus menunggu sebentar atau /dev/sda1ada pada sistem scsi yang harus memindai?
Ulrich Dangel
1
Pada Raspberry Pi, jika Anda tidak menunggu, Anda mungkin tidak dapat me-mount root; ini karena perangkat mungkin tidak cukup cepat untuk menginisialisasi kartu lambat pada waktunya.
Tamara Wijsman

Jawaban:

21

Kadang-kadang OS tidak dapat membedakan periferal yang lambat merespons dari periferal yang tidak ada atau sepenuhnya disemprot. Contoh yang paling jelas adalah sistem file root yang berasal dari jaringan (TFTP, NFS) di mana tautan jaringan lambat atau server kelebihan beban sulit dibedakan dari tautan jaringan terputus atau server macet. Timeout memberi tahu kernel kapan harus menyerah.

Ini juga dapat terjadi dengan disk yang lambat untuk berputar, array RAID yang perlu diverifikasi dan sebagainya. rootdelaymenginstruksikan kernel untuk tidak segera menyerah jika perangkat tidak tersedia. Kernel tidak dapat mengetahui apakah drive SCSI adalah disk lokal atau semacam rongga RAID.

rootwaitdisediakan untuk menunggu tanpa batas. Ini tidak selalu diinginkan, misalnya sistem mungkin ingin kembali ke sistem file root yang berbeda jika yang normal membutuhkan waktu terlalu lama untuk merespon.

Gilles 'SANGAT berhenti menjadi jahat'
sumber