Факти:
- VTOC (або EFI) необхідний для доступу до фрагментів дискового пристрою
- S2 фрагмент використовується для доступу до всього диску (включаючи VTOC на початку диска)
- новий дисковий пристрій поставляється без VTOC
- система: Solaris 10 OS, на архітектурі SPARC
Питання: Як це може бути, що цей формат здатний записати VTOC на диск, якщо він не має VTOC?
Питання докладно: Щоб створити VTOC, у форматі потрібно записати s2. Щоб написати s2, VTOC потрібно існувати. Спрощено: для створення VTOC VTOC має існувати. Як цю проблему з куркою та яйцями уникнути форматом?
ext # 1: якщо я мічу диск без маркування (c2t5006016041E076B0d8s2), трапляється таке:
[...]
11157: open("/dev/rdsk/c2t5006016041E076B0d8s2", O_RDWR|O_NDELAY) = 3
[...]
11157/1: write(1, " D i s k n o t l a b".., 33) = 33
11157/1: read(0, 0xFF2B9CD0, 1024) (sleeping...)
11157/1: read(0, " y\n", 1024) = 2
11157/1: open("/dev/rdsk/c3t5006016141E076B0d8s0", O_RDONLY|O_NDELAY) = 4
11157/1: ioctl(4, 0x0417, 0xFFBFED80) Err#22 EINVAL
11157/1: close(4) = 0
11157/1: ioctl(3, 0x04C9, 0xFFBFF52C) = 0
11157/1: ioctl(3, 0x0402, 0xFFBFF644) = 0
11157/1: ioctl(3, 0x0418, 0xFFBFF670) = 0
11157/1: ioctl(3, 0x04C9, 0xFFBFF5B4) = 0
11157/1: ioctl(3, 0x04C9, 0xFFBFF5B4) = 0
11157/1: ioctl(3, 0x04C9, 0xFFBFF5B4) = 0
11157/1: ioctl(3, 0x04C9, 0xFFBFF5B4) = 0
11157/1: ioctl(3, 0x04C9, 0xFFBFF5B4) = 0
11157/1: write(1, "\n\n F O R M A T M E N".., 15) = 15
[...]
як називаються ті ioctl () дзвінки? Вони чисто виконують роботу, але що це за дзвінки насправді?