On Tue, Jun 26, 2012 at 06:01:26PM +0400, Andrey V. Elsukov wrote: > 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. I see. I don't know if I'll find time for a proper review, but it is really great that you are working on cleaning up this huge mess. -- Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://tupytaj.pl
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:28 UTC