Re: [CFC/CFT] large changes in the loader(8) code

From: Andrey V. Elsukov <bu7cher_at_yandex.ru>
Date: Tue, 26 Jun 2012 18:01:26 +0400
On 26.06.2012 16:57, Pawel Jakub Dawidek wrote:
> On Tue, Jun 26, 2012 at 04:50:36PM +0400, Andrey V. Elsukov wrote:
>> Hi All,
>>
>> Some time ago i have started reading the code in the sys/boot.
>> Especially i'm interested in the partition tables handling.
>> I found several problems:
>> 1. There are several copies of the same code in the libi386/biosdisk.c
>> and common/disk.c, and partially libpc98/biosdisk.c.
>> 2. ZFS probing is very slow, because the ZFS code doesn't know how many
>> disks and partitions the system has:
>> 	http://www.freebsd.org/cgi/query-pr.cgi?pr=148296
>> 	http://www.freebsd.org/cgi/query-pr.cgi?pr=161897
>> 3. The GPT support doesn't check CRC and even doesn't know anything
>> about the secondary GPT header/table.
> 
> Just a quick note here. At some point when I was adding GPT attributes
> to allow for test starts I greatly improved, at least parts of, the GPT
> implementation. I did implement support for both CRC checksum
> verification and fallback to backup GPT header when primary is broken.
> And the code is still in sys/boot/common/gpt.c. So my question would be
> what do you mean by this sentence?

Yes, gptboot does that, but the loader/zfsloader doesn't. So there might
be a situation when gptboot does boot, but loader(8) can't.

-- 
WBR, Andrey V. Elsukov


Received on Tue Jun 26 2012 - 12:01:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:28 UTC