ALTTRACK(4)
НАЗВАНИЕ
alttrack - альтернативные дорожки для дефектных дорожек
диска
ОПИСАНИЕ
Блок 0 на дисковом томе содержит информацию о наличии и
размещении дефектных дорожек, в виде следующей структуры.
#define ALTMAGIC 0XDBDF /* магическое число блока
дефектных дорожек*/
#define ALTSIZE 512 /* размер области инфор-
мации о дефектных до-
рожках */
#define NICALT ALTSIZE/2-4 /* максимальное число
альтернативных дорожек */
struct alttrack {
unsigned short a_magic; /* магическое число */
unsigned short a_count; /* текущее количество
дефектных дорожек */
unsigned short a_nicbad; /* максимальное число
дефектных дорожек */
unsigned short a_base; /* начало карты */
unsigned short at_map [NICALT]; /* текущее ко-
личество альтернативных дорожек */
};
Утилита alttrack(1M) позволяет отображать и задавать
эту информацию в символьном виде.
Типичный результат работы alttrack(1M) -a, -r (или
входная информация для -w) выглядит так:
#bad tracks from /dev/rdsk/sm3s7
#magic count max base
56287 3 3 4245
#tracks(cyl:head):
2:1 444:0 2123:0
Дорожка на цилиндре 2, головке 1 отображается на первую
альтернативную дорожку 4245, дорожка на цилиндре 444,
головке 0 - на следующую дорожку 4246. Эта дорожка, находящаяся на цилиндре 2123, головке 0, сама дефектна и
отображается на следующую дорожку 4247.
Нулевая дорожка находится на цилиндре 0, головке 0. Номера дорожек сначала пробегают головки одного цилиндра,
затем переходят на следующий цилиндр. Строки, начинающиеся с #, являются комментариями.
Информация изготовителя об аппаратных дефектах, обрабатываемая командой 'alttrack -a', должна иметь вид:
для приводов с интерфейсом smd - 1 запись на дорожку:
long bid; /* идентификатор дорожки;
< 0 для дефектной дорожки */
long bpos [4]; /* позиции ошибок (до 4-х) */
unsigned short bend; /* контрольный код
0xF000 */
для приводов с интерфейсом st506 - по 1 записи на каждой дорожке цилиндра 0:
long date;
short zero [2];
{char cyl [2]; /* цилиндры, имеющие аппаратные
дефекты */
char xxx [3];} [50] /* до 50 на поверхность */
Oбработка дефектных дорожек.
После выполнения 'mknod' для raw-устройства следует:
- собрать информацию о дефектных дорожках диска
#alttrack -a /dev/rdsk/smls7 >/etc/badtrack/file ;
- форматировать диск
#format /dev/rdsk/smls7 ;
- записать информацию о дефектных дорожках на диск
#alttrack -w /dev/rdsk/smls7 </etc/badtrack/file .
Для добавления дефектной дорожки следует:
- скорректировать блок 0:
увеличить счетчик count, при необходимости увеличить
max и base, описать новую дефектную дорожку, занести
информацию на диск утилитой alttrack.
Внимание! Запись информации о дефектных дорожках на
диск приводит к потере всей информации на диске!; |
- создать новую файловую систему утилитой mkfs.
ФАЙЛЫ
/usr/include/sys/disk.h
/etc/badtrack/*
СМ. ТАКЖЕ
alttrack(1M), format(1M).