| Сервер поддерживается Центром Информационных Технологий (095) 932-9212, 932-9213, 939-0783 E-mail: info@citforum.ru

Сервер содержит море(!) аналитической информации | CIT Forum CD-ROM

### ERRFILE(4)

НАЗВАНИЕ
errfile - формат файла фиксации аппаратных ошибок

ОПИСАНИЕ
При обнаружении системой аппаратных сбоев порождается запись, которая передается демону, фиксирующему ошибки и заносящему записи в соответствующий файл для последующего анализа. По умолчанию, таким файлом является /usr/adm/errfile.

Формат записи об ошибке зависит от типа обнаруженной ошибки. Каждая запись, однако, имеет заголовок следующего формата:

    struct errhdr {
      short  e_type; /* Тип записи */
      short  e_len;  /* Кол-во байт в записи (вкл. заголовок) */
      time_t e_time; /* Дата ошибки */
    };

Перечень допустимых типов записей:

    #define E_GOTS  010  /* Старт UNIX/TS */
    #define E_GORT  011  /* Старт UNIX/RT */
    #define E_STOP  012  /* Стоп */
    #define E_TCHG  013  /* Изменение времени */
    #define E_CCHG  014  /* Переконфигурация */
    #define E_BLK   020  /* Ошибка блочного устройства */
    #define E_STRAY 030  /* Случайное прерывание */
    #define E_PRTY  031  /* Четность памяти */

Некоторые записи в файле ошибок имеют администраторское происхождение. Сюда входит инициализационная запись об активации процесса сбора ошибок, завершающая запись при успешном завершении работы демона, а также записи об изменении времени, которые используются для фиксации изменений системного времени. Эти записи имеют следующий формат:

    struct estart {
      short          e_cpu;  /* Тип ЦП */
      struct utsname e_name; /* Имя системы */
    };

    #define eend errhdr /* Заголовок записи */
    struct etimchg {
      time_t e_ntime;  /* Новое значение времени */
    };

При случайном прерывании порождается запись следующего формата:

    struct estray {
      uint e_saddr; /* Адрес прерывания или устройства */
    };

Фиксация ошибок памяти не поддерживается в данной реализации.

Записи для блочных устройств имеют следующий формат:

    struct eblock {
      dev_t   e_dev;    /* Старший+младший ном. уст-ва */
      physadr e_regloc; /* Адрес контроллера */
      short   e_bacty;  /* Прочие опер. ввода/вывода */
      struct iostat {
        long   io_ops;    /* Кол-во чтений/записей */
        long   io_misc;   /* Кол-во прочих операций */
        ushort io_unlog;  /* Кол-во незафикс. ошибок */
      }       e_stats;
      short   e_bflags; /* Чтение/запись, ошибка и т.д. */
      short   e_cyloff; /* Начальный цилиндр уст-ва */
      daddr_t e_bnum;   /* Номер логического блока */
      ushort  e_bytes;  /* Кол-во передаваемых байт */
      paddr_t e_memadd; /* Адрес буфера */
      ushort  e_rtry;   /* Кол-во повторных попыток */
      short   e_nreg;   /* Кол-во регистров уст-ва */
    };

Следующие значения используются в поле флагов e_bflags:

    #define E_WRITE  0   /* Операция записи */
    #define E_READ   1   /* Операция чтения */
    #define E_NOIO   02  /* Нет запросов, ожидающих в/в */
    #define E_PHYS   04  /* Физический ввод/вывод */
    #define E_FORMAT 010 /* Форматирование диска */
    #define E_ERROR  020 /* Неудачный ввод/вывод */

СМ. ТАКЖЕ
errdemon(1M) в Справочнике администратора.

Comments: info@citmgu.ru Designed by Andrey Novikov Copyright © CIT