From owner-freebsd-current@FreeBSD.ORG Wed Apr 8 16:05:50 2009 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF0C1106564A; Wed, 8 Apr 2009 16:05:50 +0000 (UTC) (envelope-from nork@FreeBSD.org) Received: from sakura.ninth-nine.com (ns1.ninth-nine.com [219.127.74.121]) by mx1.freebsd.org (Postfix) with ESMTP id 649D28FC19; Wed, 8 Apr 2009 16:05:50 +0000 (UTC) (envelope-from nork@FreeBSD.org) Received: from nadesico.ninth-nine.com (ns1.ninth-nine.com [219.127.74.121] (may be forged)) (authenticated bits=0) by sakura.ninth-nine.com (8.14.3/8.14.3/NinthNine) with ESMTP id n38FWQkv022737; Thu, 9 Apr 2009 00:32:32 +0900 (JST) (envelope-from nork@FreeBSD.org) Date: Thu, 9 Apr 2009 00:31:08 +0900 From: Norikatsu Shigemura To: jhb@FreeBSD.org Message-Id: <20090409003108.fe768d54.nork@FreeBSD.org> In-Reply-To: <012d01c9b706$ccace720$6606b560$@Sparrevohn@btinternet.com> References: <49BD117B.2080706@163.com> <20090331100328.H46640@rust.salford.ac.uk> <20090401044011.GA51164@plebeian.afflictions.org> <200904010846.55770.hselasky@c2i.net> <20090401121704.GA92522@plebeian.afflictions.org> <20090401234315.GA11125@plebeian.afflictions.org> <20090405015627.GB47968@plebeian.afflictions.org> <012d01c9b706$ccace720$6606b560$@Sparrevohn@btinternet.com> X-Mailer: Sylpheed 2.6.0 (GTK+ 2.14.7; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-current@FreeBSD.org, Thomas Sparrevohn , 'Damian Gerow' , Norikatsu Shigemura Subject: Re: ZFS checksum errors on USB attach (Was: ZFS data error without reasons) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 16:05:51 -0000 Hi jhb! I got ZFS checksum error issue, too. So I found a way of fixing this issue. Please back out following change. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - revision 1.5 date: 2009/03/18 16:19:44; author: jhb; state: Exp; lines: +2 -0 SVN rev 189967 on 2009-03-18 16:19:44Z by jhb The zfs_get_xattrdir() function is used to find the extended attribute directory for a znode. When the directory already exists, it returns a referenced but unlocked vnode. When a directory does not yet exist, it calls zfs_make_xattrdir() to create a new one. zfs_make_xattrdir() returns the vnode both referenced and and locked and zfs_get_xattrdir() was leaking this vnode lock to its callers. Fix this by dropping the vnode lock if zfs_make_xattrdir() successfully creates a new extended attribute directory. Reviewed by: pjd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Validation] 1. I got ZFS checksum error issue 2. Backup 3. Restructure ZPool 4. Restore (But ZFS checksum error) 5. Restructure ZPool with kern.smp.disabled=1 (Almost good, but...) 6. Restore 7. Backout zfs_dir#1.5 8. Good works for me I tested many backup&restore:-). On Mon, 6 Apr 2009 23:26:57 +0100 "Thomas Sparrevohn" wrote: > Just a me too - Here - I just seen significant corruption of a newly > restored pool - the system had been running a portupgrade - I am getting > worried - but the disks shows no errors - neither from the ATA subsystem nor > from smartctl or some vendor testing tools I have > -----Original Message----- > From: owner-freebsd-current@freebsd.org > [mailto:owner-freebsd-current@freebsd.org] On Behalf Of Damian Gerow > Sent: 05 April 2009 02:56 > To: freebsd-current@freebsd.org > Subject: Re: ZFS checksum errors on USB attach (Was: ZFS data error without > reasons) > I've filed kern/133373 to track this.