svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs

Toomas Soome tsoome at me.com
Thu Apr 6 23:19:49 UTC 2017


> On 6. apr 2017, at 22:48, Toomas Soome <tsoome at me.com> wrote:
> 
> 
> Yes, sorry, I did miss the sparc version, looking on it….


I did quick and “dirty” first round, but really need some help there, please check and comment: https://reviews.freebsd.org/D10302 <https://reviews.freebsd.org/D10302> 


> 
> rgds,
> toomas
> 
> 
>> On 6. apr 2017, at 22:41, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>> 
>> On 4/6/2017 11:17 AM, Toomas Soome wrote:
>>> Author: tsoome
>>> Date: Thu Apr  6 18:17:29 2017
>>> New Revision: 316585
>>> URL: https://svnweb.freebsd.org/changeset/base/316585
>>> 
>>> Log:
>>> loader: zfs reader should check all labels
>>> 
>>> The current zfs reader is only checking first label from each device, however,
>>> we do have 4 labels on device and we should check all 4 to be protected
>>> against disk failures and incomplete label updates.
>>> 
>>> The difficulty is about the fact that 2 label copies are in front of the
>>> pool data, and 2 are at the end, which means, we have to know the size of
>>> the pool data area.
>>> 
>>> Since we have now the mechanism from common/disk.c to use the partition
>>> information, it does help us in this task; however, there are still some
>>> corner cases.
>>> 
>>> Namely, if the pool is created without partition, directly on the disk,
>>> and firmware will give us the wrong size for the disk, we only can check
>>> the first two label copies.
>>> 
>>> Reviewed by:	allanjude
>>> Differential Revision:	https://reviews.freebsd.org/D10203
>> 
>> 
>> Something seems wrong in make universe:
>> 
>>> cc -isystem /usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/include -L/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib --sysroot=/usr/obj/sparc64.sparc64/root/git/freebsd/tmp -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/bin -O2 -pipe -DLOADER_DISK_SUPPORT -DLOADER_UFS_SUPPORT -DLOADER_CD9660_SUPPORT -DLOADER_ZFS_SUPPORT -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../zfs -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../cddl/boot/zfs -DLOADER_GZIP_SUPPORT -DLOADER_NET_SUPPORT -DLOADER_NFS_SUPPORT -DLOADER_TFTP_SUPPORT -DBOOT_FORTH -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl/sparc64 -DLOADER_DISK_SUPPORT -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT -DLOADER_GELI_SUPPORT -I/root/git/freebsd/sys/boot/ficl -I/root/git/freebsd/sys/boot/ficl/sparc64 -I/root/git/freebsd/sys/boot/ficl/../common -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../common -I. -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ofw/libofw/ -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../../lib/libstand/ -I/root/git/freebsd/sys -ffreestanding -std=gnu99 -static -nostdlib -o zfsloader locore.o main.o metadata.o vers.o boot.o commands.o console.o devopen.o interp.o interp_backslash.o interp_parse.o ls.o misc.o module.o panic.o load_elf64.o reloc_elf64.o dev_net.o disk.o part.o crc32.o interp_forth.o  /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl/libficl.a /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../../zfs/libzfsboot.a /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ofw/libofw/libofw.a -lstand
>>> --- zfsloader ---
>>> /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../../zfs/libzfsboot.a(zfs.o): In function `zfs_probe':
>>> zfs.c:(.text+0x7f28): undefined reference to `ldi_get_size'
>>> *** [zfsloader] Error code 1
>> 
>> 
>> 
>> -- 
>> Regards,
>> Bryan Drewery
>> 
> 
> 



More information about the svn-src-head mailing list