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).