Date: Thu, 09 Apr 2009 01:16:38 +0800 From: kevin <kevinxlinuz@163.com> To: Norikatsu Shigemura <nork@FreeBSD.org> Cc: Thomas Sparrevohn <Thomas.Sparrevohn@btinternet.com>, freebsd-current@FreeBSD.org, 'Damian Gerow' <dgerow@afflictions.org>, jhb@FreeBSD.org Subject: Re: ZFS checksum errors on USB attach (Was: ZFS data error without reasons) Message-ID: <49DCDBF6.5040700@163.com> In-Reply-To: <20090409003108.fe768d54.nork@FreeBSD.org> 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> <20090409003108.fe768d54.nork@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Norikatsu Shigemura wrote: > 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" <Thomas.Sparrevohn@btinternet.com> 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 >> It just fix some case.Have you tried to import a zpool on a usb hard disk? Thanks, kevin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49DCDBF6.5040700>