From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 4 18:10:13 2012 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C8E81065674 for ; Sun, 4 Mar 2012 18:10:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 1FEAE8FC1E for ; Sun, 4 Mar 2012 18:10:13 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q24IADIl055586 for ; Sun, 4 Mar 2012 18:10:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q24IACJ1055585; Sun, 4 Mar 2012 18:10:12 GMT (envelope-from gnats) Date: Sun, 4 Mar 2012 18:10:12 GMT Message-Id: <201203041810.q24IACJ1055585@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: Marius Strobl Cc: Subject: Re: sparc64/165025: [PATCH] zfsboot support for sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Marius Strobl List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2012 18:10:13 -0000 The following reply was made to PR sparc64/165025; it has been noted by GNATS. From: Marius Strobl To: Gavin Mu Cc: bug-followup@freebsd.org, Kurt Lidl Subject: Re: sparc64/165025: [PATCH] zfsboot support for sparc64 Date: Sun, 4 Mar 2012 19:06:52 +0100 On Mon, Feb 27, 2012 at 10:46:22PM +0800, Gavin Mu wrote: > Here is the updated patch to support zfs boot fully. Now boot from > mirror/raidz pool are also supported. > > zfsboot is the enhancement of boot1. Instead of reading "/boot/loader" > from UFS filesystem, it loads the ELF "zfsloader" program from the > 3.5MB Boot Block of zpool in current vtoc8 partition (slice). > > zfsloader tries to probe the zpool in current vtoc8 partition and if > it is valid, it records the guid, then search all disks to find all > zpools in the vtoc8 partitions with freebsd-zfs tag. zfsloader uses > devalias "disk" to find the disks, so devalias must be defined for > all your bootable disks by OBP (aka. {ok} mode). then it boots from > the zpool with the same guid. > > If you use the whole disk as zpool, you can allocate all disk space > into the first vtoc8 partition (for example, ada0a in FreeBSD) tag > with freebsd-zfs to create zpool. It is same with creating zpool on > the whole disk (ada0). > > For reading from multiple disks, some ofw code are changed. The former > code does not work when reading from multiple disks and I am not sure > if it is possible and how to do this. (I googled but did not find more > useful things). So I changed the code to close the current disk before > a new disk is opened, and there will be only one disk opened > simultaneously. I am not sure if this will slow the disk reading for > booting from raidz pool. (It is several minutes slow on my V100 > machine to boot from raidz zpool). Typically, opening and closing devices via OFW causes quite a delay, the exact impact depends on the firmware version and the devices involved though. Therefore, it would be advisable to keep using the current approach of caching opened packages. In what way does this fail with ZFS? Basically, IEEE 1275 just says that support for opening a package more than once depends on the particular package but nothing about concurrently opening different packages. Not being able to concurrently open different packages also doesn't make all that much of a sense as opening one package also means to subsequentially open all the parents up to the root if not already opened and I think to actually have tested opening disks concurrently when writing the current code. Could this fail due to one device actually being opened twice, once via the full path and once via its alias? Marius From owner-freebsd-sparc64@FreeBSD.ORG Mon Mar 5 11:07:19 2012 Return-Path: Delivered-To: freebsd-sparc64@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 066CA106566B for ; Mon, 5 Mar 2012 11:07:19 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id E8C208FC08 for ; Mon, 5 Mar 2012 11:07:18 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q25B7I1b035027 for ; Mon, 5 Mar 2012 11:07:18 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q25B7IPH035025 for freebsd-sparc64@FreeBSD.org; Mon, 5 Mar 2012 11:07:18 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 5 Mar 2012 11:07:18 GMT Message-Id: <201203051107.q25B7IPH035025@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-sparc64@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-sparc64@FreeBSD.org X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2012 11:07:19 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o sparc/165025 sparc64 [PATCH] zfsboot support for sparc64 o sparc/164227 sparc64 [boot] Can't boot 9.0-RELEASE/sparc64 on Blade 1500 o sparc/164226 sparc64 [cd] Data corruption on 9.0-RELEASE when reading from o sparc/162513 sparc64 mpt(4), mptutil(8) reports variable, erroneous drive i o sparc/141918 sparc64 [ehci] ehci_interrupt: unrecoverable error, controller s sparc/139134 sparc64 kernel output corruption s sparc/107087 sparc64 [hang] system is hung during boot from CD o sparc/105048 sparc64 [trm] trm(4) panics on sparc64 o sparc/104428 sparc64 [nullfs] nullfs panics on E4500 (but not E420) o sparc/71729 sparc64 printf in kernel thread causes panic on SPARC 10 problems total.