Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Mar 2020 13:40:00 +0100
From:      Peter Eriksson <pen@lysator.liu.se>
To:        Willem Jan Withagen <wjw@digiware.nl>
Cc:        FreeBSD Filesystems <freebsd-fs@freebsd.org>
Subject:   Re: ZFS pools in "trouble"
Message-ID:  <2137BCAA-03B7-4DFB-B4F3-B0B26A56D416@lysator.liu.se>
In-Reply-To: <15bde4a5-0a2e-9984-dfd6-fce39f079f52@digiware.nl>
References:  <71e1f22a-1261-67d9-e41d-0f326bf81469@digiware.nl> <91e1cd09-b6b8-f107-537f-ae2755aba087@FreeBSD.org> <15bde4a5-0a2e-9984-dfd6-fce39f079f52@digiware.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
That probably corresponds to:

   ZPOOL_STATUS_BAD_GUID_SUM    /* sum of device guids didn't match */
(=46rom /usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h)


Which get set in:=20
/usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c

       /*                                                                =
                                            =20
         * Check that the config is complete.                            =
                                             =20
         */
        if (vs->vs_state =3D=3D VDEV_STATE_CANT_OPEN &&
            vs->vs_aux =3D=3D VDEV_AUX_BAD_GUID_SUM)
                return (ZPOOL_STATUS_BAD_GUID_SUM);


/usr/src/sys # find . -name '*.c' -print0 | xargs -0 fgrep =
VDEV_AUX_BAD_GUID_SUM
./cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c:	 * =
VDEV_AUX_BAD_GUID_SUM.  So we pretend to succeed, knowing that we
./cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:		return =
(spa_vdev_err(rvd, VDEV_AUX_BAD_GUID_SUM, ENXIO));
./cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:		return =
(spa_vdev_err(rvd, VDEV_AUX_BAD_GUID_SUM,
./cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:			=
case VDEV_AUX_BAD_GUID_SUM:


       error =3D spa_check_for_missing_logs(spa);
        if (error !=3D 0)
                return (spa_vdev_err(rvd, VDEV_AUX_BAD_GUID_SUM, =
ENXIO));

        if (rvd->vdev_guid_sum !=3D spa->spa_uberblock.ub_guid_sum) {
                spa_load_failed(spa, "uberblock guid sum doesn't match =
MOS "
                    "guid sum (%llu !=3D %llu)",
                    (u_longlong_t)spa->spa_uberblock.ub_guid_sum,
                    (u_longlong_t)rvd->vdev_guid_sum);
                return (spa_vdev_err(rvd, VDEV_AUX_BAD_GUID_SUM,
                    ENXIO));
        }


Missing the logs perhaps?

- Peter

>>>                  */
>>>                 assert(reason =3D=3D ZPOOL_STATUS_OK);
>>>=20
>=20
> Error: Reason not found: 5




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2137BCAA-03B7-4DFB-B4F3-B0B26A56D416>