From owner-freebsd-fs@FreeBSD.ORG Wed Jul 10 04:06:50 2013 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 59E04A89 for ; Wed, 10 Jul 2013 04:06:50 +0000 (UTC) (envelope-from nowakpl@platinum.linux.pl) Received: from platinum.linux.pl (platinum.edu.pl [81.161.192.4]) by mx1.freebsd.org (Postfix) with ESMTP id DB1601149 for ; Wed, 10 Jul 2013 04:06:49 +0000 (UTC) Received: by platinum.linux.pl (Postfix, from userid 87) id 26D2247E21; Wed, 10 Jul 2013 06:00:51 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on platinum.linux.pl X-Spam-Level: X-Spam-Status: No, score=-1.3 required=3.0 tests=ALL_TRUSTED,AWL autolearn=disabled version=3.3.2 Received: from [10.255.0.2] (c38-073.client.duna.pl [83.151.38.73]) by platinum.linux.pl (Postfix) with ESMTPA id B745747E16 for ; Wed, 10 Jul 2013 06:00:51 +0200 (CEST) Message-ID: <51DCDC6C.2020205@platinum.linux.pl> Date: Wed, 10 Jul 2013 06:00:44 +0200 From: Adam Nowacki User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: freebsd-fs@freebsd.org Subject: Re: zpool import -D failed, "guid mismatch for provider /dev/da#:" References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jul 2013 04:06:50 -0000 It fails because of a check at http://fxr.watson.org/fxr/source/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c?im=10#L272 state == POOL_STATE_DESTROYED will be true and no config will be read, then http://fxr.watson.org/fxr/source/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c?im=10#L445 returns 0 for guid. removing that check should make the pool importable On 2013-07-10 05:03, Jiansong Liu wrote: > Hi All, > > I destroyed a pool and try to recovery with the "zpool import" command > failed and it says have no pool to import, then I realized that I > missed the "-D", so I run the command "zpool import -D", now it says > UNAVAIL, the pool has six vdev (da0 da1 da2 da3 da5 da6) original: > > # zpool import -D > pool: storage > id: 8511691845980256432 > state: UNAVAIL (DESTROYED) > status: One or more devices are missing from the system. > action: The pool cannot be imported. Attach the missing > devices and try again. > see: http://illumos.org/msg/ZFS-8000-3C > config: > > storage UNAVAIL insufficient replicas > raidz2-0 UNAVAIL insufficient replicas > 8368872959405194221 UNAVAIL cannot open > 16925320148488343503 UNAVAIL cannot open > 2721065418012152096 UNAVAIL cannot open > 1488947662741999881 UNAVAIL cannot open > 16956133848943560671 UNAVAIL cannot open > 7236613667503893647 UNAVAIL cannot open > > Every time I run the "zpool import -D", the zfs debug will output a > error for every vdev member, seems the vdev returned a wrong guid: > > vdev_geom_open_by_path:550[1]: Found provider by name /dev/da6. > vdev_geom_attach:97[1]: Attaching to da6. > vdev_geom_attach:118[1]: Created geom and consumer for da6. > vdev_geom_read_config:243[1]: Reading config from da6... > vdev_geom_detach:158[1]: Closing access to da6. > vdev_geom_detach:162[1]: Destroyed consumer to da6. > vdev_geom_detach:170[1]: Destroyed geom zfs::vdev. > vdev_geom_open_by_path:562[1]: guid mismatch for provider /dev/da6: > 7236613667503893647 != 0. > vdev_geom_open_by_guid:518[1]: Searching by guid [7236613667503893647]. > vdev_geom_read_config:243[1]: Reading config from da4s1g... > vdev_geom_read_config:243[1]: Reading config from da4s1f... > vdev_geom_read_config:243[1]: Reading config from da4s1e... > vdev_geom_read_config:243[1]: Reading config from da4s1d... > vdev_geom_read_config:243[1]: Reading config from da4s1b... > vdev_geom_read_config:243[1]: Reading config from da4s1a... > vdev_geom_read_config:243[1]: Reading config from da4s1... > vdev_geom_read_config:243[1]: Reading config from da6... > vdev_geom_read_config:243[1]: Reading config from da5... > vdev_geom_read_config:243[1]: Reading config from da4... > vdev_geom_read_config:243[1]: Reading config from da3... > vdev_geom_read_config:243[1]: Reading config from da2... > vdev_geom_read_config:243[1]: Reading config from da1... > vdev_geom_read_config:243[1]: Reading config from da0... > vdev_geom_open_by_guid:532[1]: Search by guid [7236613667503893647] failed. > vdev_geom_open:617[1]: Provider /dev/da6 not found. > > the system version is 9-STABLE r250636 > any comment and advice are appreciated, thanks in advance. > > > Best regards, > Jiansong Liu > _______________________________________________ > freebsd-fs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" >