From owner-freebsd-fs@FreeBSD.ORG Tue Jan 26 04:13:18 2010 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 5D3A21065670 for ; Tue, 26 Jan 2010 04:13:18 +0000 (UTC) (envelope-from stevenschlansker@gmail.com) Received: from mail-yx0-f171.google.com (mail-yx0-f171.google.com [209.85.210.171]) by mx1.freebsd.org (Postfix) with ESMTP id 127678FC08 for ; Tue, 26 Jan 2010 04:13:17 +0000 (UTC) Received: by yxe1 with SMTP id 1so3468377yxe.3 for ; Mon, 25 Jan 2010 20:13:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=Lr5jwIwxGFv5URZNZEVpTaN45thmBKElnMlHA7bWRKo=; b=tuKQBjnpJXwWXm5obbRmqTb3hYpwWwrCMP1LNTOH1tHPVf9mMQKZIROLpBxW+wAFGW BP6qLlhkto5APAK+l7XP1IzbKEJQdXzjOuT7UO6d/CjaKBQ+e24j11ETe6ATedZU6BTn DIhksFipKf5VtGRtkw7nIGck1SQFbyuEEu0yo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=Ok1zL5KBLMNOTGfd7XS/yv6ILUHx1YrrEWhtu42A69WmlxMOpnLMOBTn2mjO2kiAaE P5Q1Z+cAi5sC7UN5sE4XiPmd/asHWK/pAnST9LFZxkdggGqamXogGOp1+BxRppbg00PI 7Jj6gXXidiw78AqeKISDwaQ2Tp8+KhfSQZWuY= Received: by 10.150.120.33 with SMTP id s33mr1719121ybc.163.1264479171739; Mon, 25 Jan 2010 20:12:51 -0800 (PST) Received: from ?10.0.1.4? (c-67-188-116-141.hsd1.ca.comcast.net [67.188.116.141]) by mx.google.com with ESMTPS id 6sm1906448yxg.12.2010.01.25.20.12.50 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 25 Jan 2010 20:12:51 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: text/plain; charset=iso-8859-1 From: Steven Schlansker In-Reply-To: Date: Mon, 25 Jan 2010 20:12:48 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <02786740-7076-4C92-89EE-E1EFC2120E33@gmail.com> References: <3F785019-DB0E-4385-97EB-7CE69A11647A@gmail.com> To: =?iso-8859-1?Q?Tommi_L=E4tti?= X-Mailer: Apple Mail (2.1077) Cc: freebsd-fs@freebsd.org Subject: Re: slight zfs problem after playing with WDIDLE3 and WDTLER 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: Tue, 26 Jan 2010 04:13:18 -0000 On Jan 25, 2010, at 8:07 PM, Tommi L=E4tti wrote: > 2010/1/26 Steven Schlansker : >>=20 >> On Jan 25, 2010, at 10:43 AM, Tommi L=E4tti wrote: >>> After checking the logs carefully, it seems that the ada1 device >>> permanently lost some sectors. Before twiddling with the parameters, >>> it was 1953525168 sectors (953869MB), now it reports 1953523055 >>> (953868MB). So, would removing it and maybe export/import get me = back >>> to degraded state and then I could just replace the now >>> suddenly-lost-some-sectors drive? >>=20 >> That will probably work. I had a similar problem a bit >> ago where suddenly my drives were too small, causing the UNAVAIL >> corrupted-data problem. I managed to fix it by using gconcat to = stitch >> an extra MB of space from the boot drive onto it. Not a very good = solution, >> but the best I found until FreeBSD gets shrink support (which sadly = seems >> like it may be a long while) >>=20 >> Failing that, you could use OpenSolaris to import it (as it does have = minimal >> support for opening mismatched sized vdevs), copy the data off, = destroy, and restore. >=20 > After thinking overnight I'm a bit curious why the whole filesystem > failed on that single vdev causing the whole pool loss. Shouldn't the > zfs just disregard the disk and just go to degraded state? I've had > normal catastrophic disk failures on this setup before and normal > replace drive+resilver has worked just fine. I poked through the code - the problem is that ZFS identifies the drive as valid (due to correct metadata+checksums) and then tries to assemble = the array. At some point it checks the size, realizes that the drive is = smaller, and rejects the entire array. It isn't smart enough (yet?) to realize = that only rejecting the one drive would allow it to be only degraded...