|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Dmitry Pryanishnikov 2:464/36 18 Sep 2006 22:56:34 To : Aleksey Cheusov Subject : Re: BSD disklabels -------------------------------------------------------------------------------- Привет! On Thu, 14 Sep 2006, Aleksey Cheusov wrote: > полностью игнорируется *BSD (я имею ввиду именование разделов, т.е. номера). > Вместо этого используется своя, та, что задается disklabels, > как выясняется несовместимая между разными *BSD. есовместимость там, насколько я разбирался этой весной (на примере NetBSD) достаточно условная (см. мои письма в -current за середину марта с темой "[patch] NetBSD disklabel support for geom_bsd"): дело практически упирается в разный размер таблицы разделов (у FreeBSD максимум установлен в 8 элементов, реально до конца 512-байтового сектора есть место для 22). Я вначале предложил довольно сложный патч (мне показалось, что FreeBSD и NetBSD по-разному трактуют смещение раздела p_offset - это оказалось ошибкой). Все гораздо проще, нужно просто "собраться с духом" и поднять MAXPARTITIONS до 22; при этом проанализировать, чтобы под этот подъем везде корректно была выделена память. Плюс для обратной совместимости все-таки вновь создаваемые таблицы делать на 8 входов по-умолчанию (но давать возможность потом расширять до MAXPARTITIONS). Это все - не утопия, поскольку перед массивом описателей разделов есть их реальное количество: u_int16_t d_npartitions; /* number of partitions in following */ Задача для меня сейчас низкоприоритетная, найду для нее время - доведу до ума. А что до ссылок на мифическую "геометрию" - ее там нет: struct partition { /* the partition table */ u_int32_t p_size; /* number of sectors in partition */ u_int32_t p_offset; /* starting sector */ u_int32_t p_fsize; /* filesystem basic fragment size */ u_int8_t p_fstype; /* filesystem type, see below */ u_int8_t p_frag; /* filesystem fragments per block */ u_int16_t p_cpg; /* filesystem cylinders per group */ } d_partitions[MAXPARTITIONS]; /* actually may be more */ Местоположение раздела описавает пара p_size + p_offset . Тут ограничение такое же, как и для i386 MBR-слайсов: 2^32 секторов. Остальные поля, насколько я понимаю, не влияют на доступ к разделу, а просто служать хинтами для newfs. > Планируется ли где-нибудь когда-нибудь кем-нибудь > избавиться (сделать опциональными) disklabels в пользу > нативной системы организации разделов (partitions). Вот тут главное недоразумение: disklabels для *BSD-систем _и есть_ нативная система организации разделов. RTFM UNIX history. Она не начинается на i386 и не ограничивается набором из (i386|amd64). Sincerely, Dmitry -- Atlantis ISP, System Administrator e-mail: dmitry@atlantis.dp.ua nic-hdl: LYNX-RIPE --- ifmail v.2.14.os-p7 * Origin: Atlantis ISP (2:464/36@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/24521fdfaa608.html, оценка из 5, голосов 10
|