zpool import -D failed, "guid mismatch for provider /dev/da#:"

Adam Nowacki nowakpl at platinum.linux.pl
Wed Jul 10 04:06:50 UTC 2013


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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
>



More information about the freebsd-fs mailing list