Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Nov 2018 07:40:55 +0100
From:      Matthias Petermann <matthias@petermann-it.de>
To:        freebsd-questions <freebsd-questions@freebsd.org>
Cc:        freebsd@johnea.net
Subject:   Re: newfs overwriting gmirror label?
Message-ID:  <911910aa-faa4-a081-6483-a45644512839@petermann-it.de>
In-Reply-To: <5a8aadf8-8aa8-8cbb-61ab-0d9cc4b7e2c1@petermann-it.de>
References:  <5a8aadf8-8aa8-8cbb-61ab-0d9cc4b7e2c1@petermann-it.de>

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

please ignore this posting. It looks like I did a mistake interpreting 
the hexdump. I did repeat the exercise and the result was that the 
gmirror label was not overwritten.

Sorry for the confusion!

Kind regards,
Matthias

Am 22.11.2018 um 06:56 schrieb Matthias Petermann:
> 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 <matthias@petermann-it.de> | www.petermann-it.de
GnuPG: 0x5C3E6D75 | 5930 86EF 7965 2BBA 6572  C3D7 7B1D A3C3 5C3E 6D75



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?911910aa-faa4-a081-6483-a45644512839>