From 29621f011bb9ea4f2d9ea887e971bbb3910ee931 Mon Sep 17 00:00:00 2001 From: Hans Rosenfeld Date: Wed, 15 Jun 2022 11:42:03 +0200 Subject: 14745 ZFS should handle unknown/invalid vdev devids gracefully Reviewed by: Gordon Ross Reviewed by: Toomas Soome Approved by: Dan McDonald --- usr/src/uts/common/fs/zfs/vdev_disk.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'usr/src/uts/common') diff --git a/usr/src/uts/common/fs/zfs/vdev_disk.c b/usr/src/uts/common/fs/zfs/vdev_disk.c index ffbe1ede69..1cdc458974 100644 --- a/usr/src/uts/common/fs/zfs/vdev_disk.c +++ b/usr/src/uts/common/fs/zfs/vdev_disk.c @@ -24,6 +24,7 @@ * Copyright 2016 Nexenta Systems, Inc. All rights reserved. * Copyright 2020 Joyent, Inc. * Copyright 2020 Joshua M. Clulow + * Copyright 2022 Tintri by DDN, Inc. All rights reserved. */ #include @@ -353,10 +354,11 @@ vdev_disk_open(vdev_t *vd, uint64_t *psize, uint64_t *max_psize, if (vd->vdev_devid != NULL) { if (ddi_devid_str_decode(vd->vdev_devid, &dvd->vd_devid, &dvd->vd_minor) != 0) { - vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL; - vdev_dbgmsg(vd, "vdev_disk_open: invalid " - "vdev_devid '%s'", vd->vdev_devid); - return (SET_ERROR(EINVAL)); + vdev_dbgmsg(vd, + "vdev_disk_open, invalid devid %s bypassed", + vd->vdev_devid); + spa_strfree(vd->vdev_devid); + vd->vdev_devid = NULL; } } -- cgit v1.2.3