From owner-freebsd-stable@freebsd.org Sat May 4 19:51:35 2019 Return-Path: Delivered-To: freebsd-stable@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 A91441597339 for ; Sat, 4 May 2019 19:51:35 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from mail.bitblocks.com (ns1.bitblocks.com [173.228.5.8]) by mx1.freebsd.org (Postfix) with ESMTP id 736A16F320 for ; Sat, 4 May 2019 19:51:34 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from [192.168.125.6] (ipad.bitblocks.com [192.168.125.6]) by mail.bitblocks.com (Postfix) with ESMTP id A4740156E40C; Sat, 4 May 2019 12:51:12 -0700 (PDT) Mime-Version: 1.0 (1.0) Subject: Re: ZFS... From: Bakul Shah X-Mailer: iPad Mail (16E227) In-Reply-To: <5ED8BADE-7B2C-4B73-93BC-70739911C5E3@sorbs.net> Date: Sat, 4 May 2019 12:51:12 -0700 Cc: freebsd-stable Message-Id: <36C9B52C-D832-42B3-B4A8-566B89784982@bitblocks.com> References: <30506b3d-64fb-b327-94ae-d9da522f3a48@sorbs.net> <56833732-2945-4BD3-95A6-7AF55AB87674@sorbs.net> <3d0f6436-f3d7-6fee-ed81-a24d44223f2f@netfence.it> <17B373DA-4AFC-4D25-B776-0D0DED98B320@sorbs.net> <70fac2fe3f23f85dd442d93ffea368e1@ultra-secure.de> <70C87D93-D1F9-458E-9723-19F9777E6F12@sorbs.net> <5ED8BADE-7B2C-4B73-93BC-70739911C5E3@sorbs.net> To: Michelle Sullivan X-Rspamd-Queue-Id: 736A16F320 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of bakul@bitblocks.com designates 173.228.5.8 as permitted sender) smtp.mailfrom=bakul@bitblocks.com X-Spamd-Result: default: False [-1.86 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.89)[-0.890,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:173.228.5.8/29]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[bitblocks.com]; NEURAL_HAM_LONG(-0.98)[-0.977,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[mail.bitblocks.com]; RCPT_COUNT_TWO(0.00)[2]; SUBJ_ALL_CAPS(0.45)[6]; IP_SCORE(-0.15)[asn: 46375(-0.67), country: US(-0.06)]; NEURAL_HAM_SHORT(-0.59)[-0.586,0]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:46375, ipnet:173.228.0.0/20, country:US]; MID_RHS_MATCH_FROM(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: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 May 2019 19:51:35 -0000 See https://github.com/alcarithemad/zfsp =E2=80=94 zfs in python. May be use this as a *starting point* to build an interactive zpool/zfs expl= ore tool? On Apr 30, 2019, at 3:14 AM, Michelle Sullivan wrote: >> Speaking for a tool like 'fsck': I think I'm mostly convinced that it's n= ot necessary, because at the point ZFS says the metadata is corrupted, it me= ans that these metadata was really corrupted beyond repair (all replicas wer= e corrupted; otherwise it would recover by finding out the right block and r= ewrite the bad ones). >=20 > I see this message all the time and mostly agree.. actually I do agree wit= h possibly a minor exception, but so minor it=E2=80=99s probably not worth i= t. However as I suggested in my original post.. the pool says the files are= there, a tool that would send them (aka zfs send) but ignoring errors to sp= acemaps etc would be real useful (to me.) >=20 >>=20 >> An interactive tool may be useful (e.g. "I saw data structure version 1, 2= , 3 available, and all with bad checksum, choose which one you would want to= try"), but I think they wouldn't be very practical for use with large data p= ools -- unlike traditional filesystems, ZFS uses copy-on-write and heavily d= epends on the metadata to find where the data is, and a regular "scan" is no= t really useful. >=20 > Zdb -AAA showed (shows) 36m files.. which suggests the data is intact, bu= t it aborts the mount with I/o error because it says metadata has three erro= rs.. 2 =E2=80=98metadata=E2=80=99 and one =E2=80=9C=E2=80=9D (s= torage being the pool name).. it does import, and it attempts to resilver bu= t reports the resilver finishes at some 780M (ish).. export import and it do= es it all again... zdb without -AAA aborts loading metaslab 122.