From owner-freebsd-fs@FreeBSD.ORG Wed Jul 13 10:12:55 2011 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2F67106566B for ; Wed, 13 Jul 2011 10:12:55 +0000 (UTC) (envelope-from prvs=1175a7be7a=killing@multiplay.co.uk) Received: from mail1.multiplay.co.uk (mail1.multiplay.co.uk [85.236.96.23]) by mx1.freebsd.org (Postfix) with ESMTP id 5160B8FC14 for ; Wed, 13 Jul 2011 10:12:54 +0000 (UTC) X-MDAV-Processed: mail1.multiplay.co.uk, Wed, 13 Jul 2011 11:01:17 +0100 X-Spam-Processed: mail1.multiplay.co.uk, Wed, 13 Jul 2011 11:01:16 +0100 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mail1.multiplay.co.uk X-Spam-Level: X-Spam-Status: No, score=-5.0 required=6.0 tests=USER_IN_WHITELIST shortcircuit=ham autolearn=disabled version=3.2.5 Received: from r2d2 ([188.220.16.49]) by mail1.multiplay.co.uk (mail1.multiplay.co.uk [85.236.96.23]) (MDaemon PRO v10.0.4) with ESMTP id md50014130760.msg; Wed, 13 Jul 2011 11:01:15 +0100 X-MDRemoteIP: 188.220.16.49 X-Return-Path: prvs=1175a7be7a=killing@multiplay.co.uk X-Envelope-From: killing@multiplay.co.uk Message-ID: <94D74687DE95420486730136248EEB77@multiplay.co.uk> From: "Steven Hartland" To: "Artem Belevich" References: <69E82BC1AF1E4F50B37119C4E614B190@multiplay.co.uk> Date: Wed, 13 Jul 2011 11:01:40 +0100 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109 Cc: freebsd-fs@freebsd.org Subject: Re: Forcing a full file read in ZFS even when checksum error encountered X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 10:12:55 -0000 ----- Original Message ----- From: "Artem Belevich" > Maybe. See here: > http://blogs.oracle.com/relling/entry/holy_smokes_a_holey_file > > Using that method you still would not get the bad block, but you may > be able to recover data beyond it. > > If you really want to get access to the data that ZFS considers to be > corrupted, you need to get close and personal with zdb. > This blog post may be a good starting point: http://cuddletech.com/blog/?p=407 Perfect, thanks Artem. For the record using the following zdb commands I've managed to get the file data off the pool. 1. zdb -dddd / (find the objectid by searching for the filename) 2. zdb -ddddd / (find the indirect blocks, the third block of hex) 3. zdb -R : 2>/tmp/filedata e.g. zdb -dddd tank/usr zdb -ddddd tank/usr 1243 zdb -R tank:0:22df120000:18000:r 2>corrupt.jpg Regards Steve ================================================ This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337 or return the E.mail to postmaster@multiplay.co.uk.