Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 07 Apr 2017 02:19:44 +0300
From:      Toomas Soome <tsoome@me.com>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        Toomas Soome <tsoome@FreeBSD.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs
Message-ID:  <E6EA5276-DD87-4430-A711-E6320F761ABE@me.com>
In-Reply-To: <3EFCAFB8-25E6-41A0-A1CF-26B4785FB482@me.com>
References:  <201704061817.v36IHT8i088712@repo.freebsd.org> <06998a2b-fa92-500a-cdf6-5057ca96a76f@FreeBSD.org> <3EFCAFB8-25E6-41A0-A1CF-26B4785FB482@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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


I did quick and =E2=80=9Cdirty=E2=80=9D first round, but really need =
some help there, please check and comment: =
https://reviews.freebsd.org/D10302 <https://reviews.freebsd.org/D10302>=20=



>=20
> rgds,
> toomas
>=20
>=20
>> On 6. apr 2017, at 22:41, Bryan Drewery <bdrewery@FreeBSD.org> wrote:
>>=20
>> 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
>>>=20
>>> Log:
>>> loader: zfs reader should check all labels
>>>=20
>>> 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.
>>>=20
>>> 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.
>>>=20
>>> 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.
>>>=20
>>> 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.
>>>=20
>>> Reviewed by:	allanjude
>>> Differential Revision:	https://reviews.freebsd.org/D10203
>>=20
>>=20
>> Something seems wrong in make universe:
>>=20
>>> 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=3D/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=3Dgnu99 -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
>>=20
>>=20
>>=20
>> --=20
>> Regards,
>> Bryan Drewery
>>=20
>=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E6EA5276-DD87-4430-A711-E6320F761ABE>