From owner-freebsd-questions@freebsd.org Thu Nov 22 05:57:06 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 831771139A0B for ; Thu, 22 Nov 2018 05:57:06 +0000 (UTC) (envelope-from matthias@petermann-it.de) Received: from mail.d2ux.org (d2ux.org [148.251.193.221]) by mx1.freebsd.org (Postfix) with ESMTP id A007E8C30F for ; Thu, 22 Nov 2018 05:57:05 +0000 (UTC) (envelope-from matthias@petermann-it.de) Received: from mail (unknown [10.0.0.3]) by mail.d2ux.org (Postfix) with ESMTP id 162CD6CE30; Thu, 22 Nov 2018 06:56:59 +0100 (CET) X-Virus-Scanned: amavisd-new at petermann-it.de Received: from mail.d2ux.org ([10.0.0.3]) by mail (new.petermann-it.de [10.0.0.3]) (amavisd-new, port 10024) with ESMTP id FqieHjOPchup; Thu, 22 Nov 2018 06:56:58 +0100 (CET) Received: from [192.168.2.134] (p57B9DA90.dip0.t-ipconnect.de [87.185.218.144]) by mail.d2ux.org (Postfix) with ESMTPSA id 08E846CE25; Thu, 22 Nov 2018 06:56:57 +0100 (CET) To: freebsd-questions Cc: freebsd@johnea.net From: Matthias Petermann Subject: newfs overwriting gmirror label? Message-ID: <5a8aadf8-8aa8-8cbb-61ab-0d9cc4b7e2c1@petermann-it.de> Date: Thu, 22 Nov 2018 06:56:19 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A007E8C30F X-Spamd-Result: default: False [-3.24 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:148.251.193.221/32]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[petermann-it.de]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[mail.petermann-it.de]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.93)[-0.930,0]; IP_SCORE(-1.10)[ipnet: 148.251.0.0/16(-2.55), asn: 24940(-2.92), country: DE(-0.01)]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:24940, ipnet:148.251.0.0/16, country:DE]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Nov 2018 05:57:06 -0000 Hello, this is somewhat related to my other post regarding GPT vs. GMIRROR. Anyway, the following observation can be looked at in an isolated manner. I have documented the observation in a step-by-step protocol below. If you have some thoughts on this - please reply and let me know. I'd be very thankful to get this clarified. Kind regards, Matthias 0) Preface There is a gmirror set up, consisting of two components. I am going to create a hex dump of the last block of one of the components, then fill up the gmirror with a raw write of "FF" and create another hex dump of one of the components. Then I will compare the hex dumps. 1) Checking gmirror label before manipulation 1FFFFDB0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFDCC 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFDE8 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 47 45 4F 4D ........................GEOM 1FFFFE04 3A 3A 4D 49 │ 52 52 4F 52 │ 00 00 00 00 │ 04 00 00 00 │ 74 65 73 74 │ 00 01 00 00 │ 00 00 00 00 ::MIRROR........test........ 1FFFFE20 A0 07 5F E9 │ B0 49 4B F7 │ 73 07 3C A2 │ 02 00 00 00 │ 00 01 00 00 │ 00 00 00 10 │ 00 00 02 00 ._IKs.<................ 1FFFFE3C FE FF 1F 00 │ 00 00 00 00 │ 02 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 40 .........................@ 1FFFFE58 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 20 00 .......................... . 1FFFFE74 00 00 00 BE │ 2B CF 02 21 │ 60 DB DE FB │ AB FC D2 03 │ 26 F6 64 00 │ 00 00 00 00 │ 00 00 00 00 ...+.!`.&d......... 1FFFFE90 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFEAC 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFEC8 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFEE4 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF00 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF1C 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF38 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF54 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF70 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF8C 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFA8 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFC4 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFE0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ...................t.....@ . 2) Filling up mirror with "FF" root@l-mpe-fbsd:/home/admin # tr '\0' '\377' < /dev/zero > /dev/mirror/test 3) Checking gmirror label after manipulation 1FFFFDB0 FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 1FFFFDCC FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 1FFFFDE8 FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ 47 45 4F 4D ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒GEOM 1FFFFE04 3A 3A 4D 49 │ 52 52 4F 52 │ 00 F8 FF FF │ 04 00 00 00 │ 74 65 73 74 │ 00 AF B4 80 │ FF FF FF FF ::MIRROR.▒▒▒....test.▒▒.▒▒▒▒ 1FFFFE20 00 A8 CF 81 │ B0 49 4B F7 │ 73 07 3C A2 │ 02 00 00 00 │ 00 01 00 00 │ 00 00 00 10 │ 00 00 02 00 .▒▒.▒IK▒s.<▒................ 1FFFFE3C FE FF 1F 00 │ 00 00 00 00 │ 02 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 40 ▒▒.........................@ 1FFFFE58 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 20 00 .......................... . 1FFFFE74 00 00 00 28 │ 37 37 D5 E2 │ 53 ED 72 2A │ 17 FC 86 3D │ FA 16 49 00 │ 00 00 00 00 │ 00 00 00 00 ...(77▒▒S▒r*.▒.=▒.I......... 1FFFFE90 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFEAC 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFEC8 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFEE4 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF00 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF1C 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF38 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF54 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF70 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFF8C 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFA8 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFC4 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFE0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ............................ 1FFFFFFC 00 00 00 00 │ .... 4) Conclusion So this looks like the gmirror label is not protected against low level writes. Some bytes have been overwritten with "FF". So what I still would like to understand - how is it ensured that a newfs will not touch this area? From my understanding, using the -r parameter of newfs could help, but in none of the examples with gmirror using GPT partitions this is used. So will the approach ultimately lead into gmirror label corruption (e.g. once UFS is filled up)? -- Matthias Petermann | www.petermann-it.de GnuPG: 0x5C3E6D75 | 5930 86EF 7965 2BBA 6572 C3D7 7B1D A3C3 5C3E 6D75