DF-2451 / fix.diff
--- a/sys/dev/disk/dm/dm_pdev.c +++ b/sys/dev/disk/dm/dm_pdev.c @@ -103,6 +103,14 @@ { off_t noffset; + /* + * If DIOCGPART failed at dm_pdev_insert() the partinfo is all + * zero and media_blksize would divide by zero (panic in the dump + * path). Fall back to no geometry adjustment in that case. + */ + if (pdev->pdev_pinfo.media_blksize == 0) + return (offset); + noffset = pdev->pdev_pinfo.reserved_blocks + pdev->pdev_pinfo.media_offset / pdev->pdev_pinfo.media_blksize; noffset *= DEV_BSIZE; |