From owner-svn-src-head@freebsd.org Sun Nov 3 22:59:59 2019 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 60D321AAC16 for ; Sun, 3 Nov 2019 22:59:59 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 475rwt2vDsz4vHM for ; Sun, 3 Nov 2019 22:59:58 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: by mail-il1-x131.google.com with SMTP id w1so4341993ilq.11 for ; Sun, 03 Nov 2019 14:59:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=multiplay-co-uk.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8UG2nfnZ87FGKXSEfDE4GMCXPkCUGRy9EvCf42Q3MAg=; b=JHcVvw+u2gcu7+/UwPP1Q4TmPUoNX843/MhsWwjHfj2lNWgUnNWBJo0Ki9pbhmeR8A jD3WRwiAQ9oaON9/y7Ch9VzVKFcgQ7yMFqlhJh5OFnDDD4CzS1voGbXJuSa37+zNuxfM 9JNuZLvkAhrQPJ43nltuWxYJG9p+ih+eEBCT0CYzONfHeaBLw65Lb+d9nfY4xP7u86C2 fR4I8siVFollNBTVPy9RjO6dmFC+cm78EyGAxOHptEP8bVsopYqDsOXLNIsFO9UpzUsp ku3TjMLnW9Xg8ngopSuHuWIccbbxULYW8qagh/6lE25cApOx0YtDRLWtdDvKKT9vQJDS 3vKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8UG2nfnZ87FGKXSEfDE4GMCXPkCUGRy9EvCf42Q3MAg=; b=P0tvuIS5tgBDiSd2QACcAluHYkLuFnzUJwo5o3LYrHG+3SkqFe+dCCVQx1EI9keGtK 8CVXZPzoKGRfBZQdHmjgmtfxRhKS7anIn3yG6S4LsOSTKqf1C7do23YeSgO5GiS8qb+W Vcn2Z9bsxuRVPxRuksj69C8zRPD44z1hT/5jfKn+syGAvUWU9i5oYJMzgIC57yb130uu FD82NGjueCwKe/RGTzYR56xROx96ZZqCxynuJ7iQKybmqOKztM6KHE9E9JTxy+TegxDU wmDQKCkH+96fSqiJKNChIlUpE5Rf40MCVSU+Ag1TL6GdFFxfyh5j0R5oEPRxlKr9q2oE p4OA== X-Gm-Message-State: APjAAAUa4VAAOx1esS2g0HClLVFMlGzTuLFjgyhbfZwfymhe/2yFcGk6 xZVmN+hM2KYw5rTZKsZiGCwZT4Yp/r8OONNtL/lFPQ/X X-Google-Smtp-Source: APXvYqyBEzTTrRcPjqpSUg0PpMiCGR4Vg8qjjFs5EJv8NXqUMCd7YLivcis5fQDb3U4e+iaPIBFDc7K0At+YrxpRnHk= X-Received: by 2002:a92:5c5d:: with SMTP id q90mr26480746ilb.22.1572821997071; Sun, 03 Nov 2019 14:59:57 -0800 (PST) MIME-Version: 1.0 References: <201911031325.xA3DPl3B080386@repo.freebsd.org> In-Reply-To: <201911031325.xA3DPl3B080386@repo.freebsd.org> From: Steven Hartland Date: Sun, 3 Nov 2019 22:59:46 +0000 Message-ID: Subject: Re: svn commit: r354283 - in head: stand/libsa/zfs sys/cddl/boot/zfs To: Toomas Soome Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Rspamd-Queue-Id: 475rwt2vDsz4vHM X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=multiplay-co-uk.20150623.gappssmtp.com header.s=20150623 header.b=JHcVvw+u; dmarc=pass (policy=none) header.from=multiplay.co.uk; spf=pass (mx1.freebsd.org: domain of steven@multiplay.co.uk designates 2607:f8b0:4864:20::131 as permitted sender) smtp.mailfrom=steven@multiplay.co.uk X-Spamd-Result: default: False [-4.07 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[multiplay-co-uk.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; TO_DN_SOME(0.00)[]; URI_COUNT_ODD(1.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[multiplay-co-uk.20150623.gappssmtp.com:+]; MIME_BASE64_TEXT(0.10)[]; RCVD_IN_DNSWL_NONE(0.00)[1.3.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; DMARC_POLICY_ALLOW(-0.50)[multiplay.co.uk,none]; FORGED_SENDER(0.30)[steven.hartland@multiplay.co.uk,steven@multiplay.co.uk]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-2.47)[ip: (-7.90), ipnet: 2607:f8b0::/32(-2.38), asn: 15169(-2.03), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[steven.hartland@multiplay.co.uk,steven@multiplay.co.uk]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Nov 2019 22:59:59 -0000 Pretty sure we had at least two systems using root with log just fine, so would be interested to know why this isn=E2=80=99t supported anymore? On Sun, 3 Nov 2019 at 13:26, Toomas Soome wrote: > Author: tsoome > Date: Sun Nov 3 13:25:47 2019 > New Revision: 354283 > URL: https://svnweb.freebsd.org/changeset/base/354283 > > Log: > loader: we do not support booting from pool with log device > > If pool has log device, stop there and tell about it. > > Modified: > head/stand/libsa/zfs/zfs.c > head/stand/libsa/zfs/zfsimpl.c > head/sys/cddl/boot/zfs/zfsimpl.h > > Modified: head/stand/libsa/zfs/zfs.c > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/stand/libsa/zfs/zfs.c Sun Nov 3 13:03:47 2019 (r354282) > +++ head/stand/libsa/zfs/zfs.c Sun Nov 3 13:25:47 2019 (r354283) > @@ -668,6 +668,11 @@ zfs_dev_open(struct open_file *f, ...) > spa =3D spa_find_by_guid(dev->pool_guid); > if (!spa) > return (ENXIO); > + if (spa->spa_with_log) { > + printf("Reading pool %s is not supported due to log > device.\n", > + spa->spa_name); > + return (ENXIO); > + } > mount =3D malloc(sizeof(*mount)); > if (mount =3D=3D NULL) > return (ENOMEM); > > Modified: head/stand/libsa/zfs/zfsimpl.c > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/stand/libsa/zfs/zfsimpl.c Sun Nov 3 13:03:47 2019 > (r354282) > +++ head/stand/libsa/zfs/zfsimpl.c Sun Nov 3 13:25:47 2019 > (r354283) > @@ -1109,6 +1109,7 @@ vdev_init_from_nvlist(const unsigned char *nvlist, > vde > const unsigned char *kids; > int nkids, i, is_new; > uint64_t is_offline, is_faulted, is_degraded, is_removed, > isnt_present; > + uint64_t is_log; > > if (nvlist_find(nvlist, ZPOOL_CONFIG_GUID, DATA_TYPE_UINT64, > NULL, &guid) > @@ -1132,17 +1133,20 @@ vdev_init_from_nvlist(const unsigned char *nvlist= , > vde > } > > is_offline =3D is_removed =3D is_faulted =3D is_degraded =3D isnt= _present > =3D 0; > + is_log =3D 0; > > nvlist_find(nvlist, ZPOOL_CONFIG_OFFLINE, DATA_TYPE_UINT64, NULL, > - &is_offline); > + &is_offline); > nvlist_find(nvlist, ZPOOL_CONFIG_REMOVED, DATA_TYPE_UINT64, NULL, > - &is_removed); > + &is_removed); > nvlist_find(nvlist, ZPOOL_CONFIG_FAULTED, DATA_TYPE_UINT64, NULL, > - &is_faulted); > + &is_faulted); > nvlist_find(nvlist, ZPOOL_CONFIG_DEGRADED, DATA_TYPE_UINT64, NULL= , > - &is_degraded); > + &is_degraded); > nvlist_find(nvlist, ZPOOL_CONFIG_NOT_PRESENT, DATA_TYPE_UINT64, > NULL, > - &isnt_present); > + &isnt_present); > + nvlist_find(nvlist, ZPOOL_CONFIG_IS_LOG, DATA_TYPE_UINT64, NULL, > + &is_log); > > vdev =3D vdev_find(guid); > if (!vdev) { > @@ -1217,6 +1221,7 @@ vdev_init_from_nvlist(const unsigned char *nvlist, > vde > return (ENOMEM); > vdev->v_name =3D name; > } > + vdev->v_islog =3D is_log =3D=3D 1; > } else { > is_new =3D 0; > } > @@ -1433,6 +1438,12 @@ vdev_status(vdev_t *vdev, int indent) > { > vdev_t *kid; > int ret; > + > + if (vdev->v_islog) { > + (void)pager_output(" logs\n"); > + indent++; > + } > + > ret =3D print_state(indent, vdev->v_name, vdev->v_state); > if (ret !=3D 0) > return (ret); > @@ -1737,6 +1748,12 @@ vdev_probe(vdev_phys_read_t *_read, void > *read_priv, s > printf("ZFS: inconsistent nvlist contents\n"); > return (EIO); > } > + > + /* > + * We do not support reading pools with log device. > + */ > + if (vdev->v_islog) > + spa->spa_with_log =3D vdev->v_islog; > > /* > * Re-evaluate top-level vdev state. > > Modified: head/sys/cddl/boot/zfs/zfsimpl.h > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/cddl/boot/zfs/zfsimpl.h Sun Nov 3 13:03:47 2019 > (r354282) > +++ head/sys/cddl/boot/zfs/zfsimpl.h Sun Nov 3 13:25:47 2019 > (r354283) > @@ -1670,6 +1670,7 @@ typedef struct vdev { > vdev_phys_read_t *v_phys_read; /* read from raw leaf vdev */ > vdev_read_t *v_read; /* read from vdev */ > void *v_read_priv; /* private data for read function > */ > + boolean_t v_islog; > struct spa *spa; /* link to spa */ > /* > * Values stored in the config for an indirect or removing vdev. > @@ -1694,6 +1695,7 @@ typedef struct spa { > zio_cksum_salt_t spa_cksum_salt; /* secret salt for cksum = */ > void *spa_cksum_tmpls[ZIO_CHECKSUM_FUNCTIONS]; > int spa_inited; /* initialized */ > + boolean_t spa_with_log; /* this pool has log */ > } spa_t; > > /* IO related arguments. */ >