Andriy Tkachuk
9b8ccbd2cb
draid: fix import failure after disks replacements
...
Currently, it's possible that draid vdev asize would decrease
after disks replacements when the disk size is a little less than
all other disks in the pool. In such situations, import would
fail on this check in vdev_open():
/*
* Make sure the allocatable size hasn't shrunk too much.
*/
if (asize < vd->vdev_min_asize) {
vdev_set_state(vd, B_TRUE, VDEV_STATE_CANT_OPEN,
VDEV_AUX_BAD_LABEL);
return (SET_ERROR(EINVAL));
}
Solution: fix vdev_draid_min_asize() so that it would round up
the required minimal disk capacity to the VDEV_DRAID_ROWHEIGHT.
This would refuse replacements with the disks whose size is less
than minimally required to avoid draid asize decrement.
Note: we also use VDEV_DRAID_ROWHEIGHT in vdev_draid_open() when
calculating asize, and thats why we need to round up min_size at
vdev_draid_min_asize() to avoid asize drops.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Andriy Tkachuk <andriy.tkachuk@seagate.com >
Closes #18380
2026-04-23 14:58:57 -07:00
..
2025-12-10 10:21:29 -08:00
2025-03-13 17:56:27 -07:00
2026-02-05 13:48:30 -08:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-11-12 13:04:58 -08:00
2025-11-12 13:04:58 -08:00
2025-03-13 17:56:27 -07:00
2025-11-12 13:07:09 -08:00
2025-08-07 11:41:42 -07:00
2026-02-19 11:14:37 -08:00
2025-03-13 17:56:27 -07:00
2026-02-17 11:54:58 -08:00
2026-02-19 11:14:37 -08:00
2025-03-13 17:56:27 -07:00
2026-02-05 13:48:31 -08:00
2026-02-19 11:14:37 -08:00
2025-08-06 10:36:07 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-12-10 10:21:29 -08:00
2026-02-17 11:54:58 -08:00
2025-11-12 13:04:58 -08:00
2025-08-07 11:41:42 -07:00
2025-08-06 10:36:07 -07:00
2026-02-17 11:54:58 -08:00
2025-05-13 14:26:55 -07:00
2025-11-12 13:07:09 -08:00
2025-08-07 11:41:42 -07:00
2025-11-12 13:05:40 -08:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2026-02-05 13:48:30 -08:00
2025-08-13 15:56:25 -04:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:40:59 -07:00
2025-08-07 11:41:37 -07:00
2025-08-07 11:40:59 -07:00
2026-02-05 13:48:31 -08:00
2025-05-28 10:28:59 -07:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:40:59 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:27 -07:00
2026-02-19 11:14:37 -08:00
2026-02-10 17:01:29 -08:00
2025-08-12 13:36:03 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-09-29 16:50:53 -07:00
2025-05-02 15:32:18 -07:00
2025-08-07 11:41:37 -07:00
2026-02-05 13:48:31 -08:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-11-12 13:04:58 -08:00
2025-11-12 13:06:54 -08:00
2025-08-06 10:36:07 -07:00
2025-11-12 13:04:58 -08:00
2026-02-19 11:14:37 -08:00
2026-04-23 14:54:23 -07:00
2025-08-07 11:40:59 -07:00
2026-04-23 14:54:14 -07:00
2025-11-12 13:04:58 -08:00
2025-08-07 11:40:59 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2025-05-28 10:27:46 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:57:31 -07:00
2026-04-23 14:58:57 -07:00
2025-09-10 15:01:32 -07:00
2025-11-12 13:04:58 -08:00
2025-11-12 13:04:58 -08:00
2025-08-07 11:41:42 -07:00
2025-11-12 13:06:54 -08:00
2026-02-10 17:01:29 -08:00
2025-08-06 10:36:07 -07:00
2025-05-02 15:32:18 -07:00
2025-08-07 11:41:42 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2026-02-05 13:48:31 -08:00
2026-04-23 14:54:23 -07:00
2025-11-12 13:06:54 -08:00
2025-05-02 15:32:18 -07:00
2025-11-12 13:06:54 -08:00
2026-04-23 14:54:23 -07:00
2025-03-13 17:56:27 -07:00
2026-02-05 13:48:31 -08:00
2026-02-05 13:48:31 -08:00
2025-05-27 20:04:37 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:53:10 -07:00
2025-08-07 11:41:42 -07:00
2025-09-09 17:03:27 -07:00
2025-03-13 17:56:27 -07:00
2025-12-10 10:21:29 -08:00
2025-09-15 12:43:34 -07:00
2025-04-18 09:22:16 -04:00
2025-12-10 10:21:29 -08:00
2025-11-12 13:04:58 -08:00
2025-03-13 17:56:27 -07:00
2026-02-11 11:41:13 -08:00
2025-08-08 16:43:20 -07:00
2025-03-13 17:56:27 -07:00
2026-02-05 13:48:31 -08:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-08-07 11:41:25 -07:00
2025-08-08 16:43:09 -07:00
2025-08-08 16:43:09 -07:00
2025-04-03 10:35:22 -07:00
2025-08-14 08:50:17 -07:00
2025-08-07 11:40:59 -07:00
2026-02-19 11:14:37 -08:00
2025-11-12 13:06:54 -08:00
2026-02-05 13:48:31 -08:00
2025-03-13 17:56:27 -07:00
2025-08-07 11:41:42 -07:00
2025-08-07 11:41:42 -07:00
2025-11-12 13:06:54 -08:00