From owner-freebsd-users-jp@freebsd.org Sun Jul 28 09:46:24 2019 Return-Path: Delivered-To: freebsd-users-jp@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 BEF23A740E for ; Sun, 28 Jul 2019 09:46:24 +0000 (UTC) (envelope-from hrs@allbsd.org) Received: from mail.allbsd.org (mx.allbsd.org [IPv6:2001:2f0:104:e001::41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail.allbsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 29E988DEAA for ; Sun, 28 Jul 2019 09:46:23 +0000 (UTC) (envelope-from hrs@allbsd.org) Received: from mail-d.allbsd.org ([IPv6:2409:11:a740:4700:58:65ff:fe00:b0b]) (authenticated bits=56) by mail.allbsd.org (8.15.2/8.15.2) with ESMTPSA id x6S9jrrT025400 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK) (Client CN "/CN=mail-d.allbsd.org", Issuer "/C=US/O=Let's+20Encrypt/CN=Let's+20Encrypt+20Authority+20X3"); Sun, 28 Jul 2019 18:46:04 +0900 (JST) (envelope-from hrs@allbsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=allbsd.org; s=20190220; t=1564307179; bh=AvrX7NJlgvA2V7cTevlZj4kw4nbtLWsYX88vNR5TtRA=; h=Date:To:Cc:Subject:From:In-Reply-To:References; b=WIxn1bj2MkcvC1/hbv8NuBfPVwnL5ZjbkzdHncNUT8Kydd7P7vUKmLiyybZ6d1dBA 6nYtNajJOhqekCJqRaCW3Af35uO4pkGp+GrLr6rYu4K4D0CnBOEDyCG7tFsA9Zmx4/ NTFEIH5Gja0HR/vc+LP7OvDWwxv5NviJZk3Rcp9k= Received: from alph.d.allbsd.org ([IPv6:2409:11:a740:4700:16:ceff:fe34:2700]) by mail-d.allbsd.org (8.15.2/8.15.2) with ESMTPS id x6S9jmQ8055061 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sun, 28 Jul 2019 18:45:48 +0900 (JST) (envelope-from hrs@allbsd.org) Received: from localhost (localhost [[UNIX: localhost]]) (authenticated bits=0) by alph.d.allbsd.org (8.15.2/8.15.2) with ESMTPA id x6S9jkx1055057; Sun, 28 Jul 2019 18:45:48 +0900 (JST) (envelope-from hrs@allbsd.org) Date: Sun, 28 Jul 2019 18:43:49 +0900 (JST) Message-Id: <20190728.184349.1970441927620905383.hrs@allbsd.org> To: nao_k@din.or.jp Cc: freebsd-users-jp@freebsd.org From: Hiroki Sato In-Reply-To: <20190723145437.75F6.ECFBC552@din.or.jp> References: <20190723145437.75F6.ECFBC552@din.or.jp> X-PGPkey-fingerprint: BDB3 443F A5DD B3D0 A530 FFD7 4F2C D3D8 2793 CF2D X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Signed; protocol="application/pgp-signature"; micalg=pgp-sha1; boundary="--Security_Multipart(Sun_Jul_28_18_43_49_2019_124)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.6.2 (mail.allbsd.org [IPv6:2001:2f0:104:e001:0:0:0:41]); Sun, 28 Jul 2019 18:46:12 +0900 (JST) X-Spam-Status: No, score=4.8 required=13.0 tests=CONTENT_TYPE_PRESENT, ISO2022JP_BODY,ONEGAI,QENCPTR1,RCVD_IN_AHBL,RCVD_IN_AHBL_PROXY, RCVD_IN_AHBL_SPAM,RDNS_NONE,UNPARSEABLE_RELAY,URIBL_SC2_SURBL, URIBL_XS_SURBL autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: **** X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mx.allbsd.org Subject: [FreeBSD-users-jp 96417] Re: =?iso-2022-jp?b?Z3BhcnQbJEIkRxsoQk9wZXJhdGlvbiBub3QgcGVybWl0?= =?iso-2022-jp?b?dGVk?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jul 2019 09:46:24 -0000 ----Security_Multipart(Sun_Jul_28_18_43_49_2019_124)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 佐藤です。 KUNIYOSHI wrote in <20190723145437.75F6.ECFBC552@din.or.jp>: na>  gpartで、Operation not permittedエラーが出てしまいました。 na>  数日調べてみても原因らしきものに辿り着けませんでした。 na>  原因に心当たり等あれば教えてください。よろしくお願いします。 (snip) na>  zfsのバージョンも上がったようだったので、zpool upgradeもしてみたところ、 na> na> # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada8 na> # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada9 na> na>  の両方で、 na> na> gpart: /dev/ada8p1: Operation not permitted na> gpart: /dev/ada9p1: Operation not permitted na> na>  となってしまいました。 na> na>  kern.geom.debugflagsは、問題なく0x10になっています。 これは正常な動作です。過去のバージョンでは、この手順で gpart bootcode -p が実行できていたのでしょうか? gmirror を設定する前に実行したのではないかと想像しますが、 いかがでしょうか。 mirror/boot は /dev/ada8p1 と /dev/ada9p1 で 構成されていて、次のような親子関係があるのだと思います。 ada8 -> ada8p1 -> mirror/boot 上記の gpart bootcode ada8 コマンドは、 -b で指定されたファイルの内容を /dev/ada8 に、 -p で指定されたファイルの内容を /dev/ada8p1 に書き込もうとします。 一方、GEOM の親子関係が前述のように設定されている場合、 ada8 や ada8p1 へのアクセスは禁止されます。 debugflags を使うと禁止されているアクセスの一部を許可することが 可能ですが、この場合、debugflags=16 であっても ada[89]p1 への 書き込みはできません。理由は、debugflags=16 によって 書き込みが許可されるのは、GEOM ランクが 1 のデバイスだからです。 GEOM ランクとは、親子関係に下位から数字をつけたものです。 上記構成をデバイス名(ランク)という形で表現すると、 ada8 の場合は次のようになります。 ada8(1) -> ada8p1(3) -> mirror/boot(4) ランク 1 とは、子に何も持たない GEOM です。 物理ドライブに対応する GEOM の多くは、ランク 1 になります。 したがって、ada8 にアクセスする gpart bootcode -b は 成功し、ada8p1 にアクセスする gpart bootcode -p は失敗します。 na> # gpart bootcode -p /boot/gptzfsboot -i 1 ada8 na> # gpart bootcode -p /boot/gptzfsboot -i 1 ada9 na> na>  ここがNGでした。 この構成では、次のようにして mirror/boot に 直接書き込む以外に方法はないように思います。 # dd if=/boot/gptzfsboot of=/dev/mirror/boot gmirror を使用している際に、debugflags=16 を使った 下位 GEOM プロバイダの直接操作を説明している文書が いくつかあるのですが、 これが可能なのは、ランク 1 のプロバイダを使って 直接 gmirror を構成している時だけです。 -- Hiroki ----Security_Multipart(Sun_Jul_28_18_43_49_2019_124)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iEYEABECAAYFAl09blUACgkQTyzT2CeTzy0jrACfYn2ZHYJ+8Ukjn7Ac0R01e3Sp 68QAoJAFcJxr/LMqWdIBlimvci4tSmh9 =B2Mw -----END PGP SIGNATURE----- ----Security_Multipart(Sun_Jul_28_18_43_49_2019_124)----