From owner-freebsd-hackers@freebsd.org Fri Dec 30 17:37:19 2016 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3068FC97A57 for ; Fri, 30 Dec 2016 17:37:19 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1a.eu.mailhop.org (outbound1a.eu.mailhop.org [52.58.109.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BA3A713B1 for ; Fri, 30 Dec 2016 17:37:18 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 9b3efa97-ceb6-11e6-9357-bffcd86bd944 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.eu.mailhop.org (Halon) with ESMTPSA id 9b3efa97-ceb6-11e6-9357-bffcd86bd944; Fri, 30 Dec 2016 17:37:17 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id uBUHbATt001417; Fri, 30 Dec 2016 10:37:10 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1483119430.16152.83.camel@freebsd.org> Subject: Re: How to safely remove rest of GTP? From: Ian Lepore To: "Andrey V. Elsukov" , Slawa Olhovchenkov Cc: freebsd-hackers@freebsd.org Date: Fri, 30 Dec 2016 10:37:10 -0700 In-Reply-To: <22d5dece-f14b-3bef-b3dd-8bb6226e0d28@FreeBSD.org> References: <20161230124407.GN37118@zxy.spb.ru> <20161230164652.GO37118@zxy.spb.ru> <22d5dece-f14b-3bef-b3dd-8bb6226e0d28@FreeBSD.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Dec 2016 17:37:19 -0000 On Fri, 2016-12-30 at 20:08 +0300, Andrey V. Elsukov wrote: > On 30.12.2016 19:46, Slawa Olhovchenkov wrote: > > > > On Fri, Dec 30, 2016 at 07:28:19PM +0300, Andrey V. Elsukov wrote: > > > > > > > > On 30.12.2016 15:44, Slawa Olhovchenkov wrote: > > > > > > > > How to safely remove rest of GPT? > > > > Disk have actual data (part of ZFS), I am don't need to destroy > > > > this > > > > data. > > > > > > > > GEOM: da6: the primary GPT table is corrupt or invalid. > > > > GEOM: da6: using the secondary instead -- recovery strongly > > > > advised. > > > > GEOM: da22: the primary GPT table is corrupt or invalid. > > > > GEOM: da22: using the secondary instead -- recovery strongly > > > > advised. > > > > GEOM: da6: the primary GPT table is corrupt or invalid. > > > > GEOM: da6: using the secondary instead -- recovery strongly > > > > advised. > > > > GEOM: da22: the primary GPT table is corrupt or invalid. > > > > GEOM: da22: using the secondary instead -- recovery strongly > > > > advised. > > > You may try attached patch, I did only basic tests, so first try > > > somewhere :) > > What purpose of this patch? > In case when you have not valid primary header, `gpart destroy` will > not  > touch first two sectors. In you case you can wipe only last sector, > like  > Ian suggested, but use 'gpart destroy -F da6' instead of dd. > If you gpart destroy -F da6 won't that also clear the valid MBR at the start of the disk?  I think Slawa needs to preserve that. I think it would be really useful if gpart recover could help with this somehow.  There is a valid mbr, and a partially-valid gpt (only the backup is valid).  So gpart recover should provide a way to recover the gpt by refreshing the primary gpt and the pbmr, or recover the mbr by wiping the backup gpt.  I'm not sure what the syntax would be to specify that, though. This didn't used to be a problem until the changes that made the backup gpt get used automatically without any sysadmin intervention. -- Ian