John,
> For io_min/opt, maybe reduce to a factor of the stripe size / width > (and which fits in a unsigned int). > > I am not sure if it is even sane to have such huge values in io_min > and the bottom disk io_min should be used directly instead. The intent for io_min was to convey the physical_block_size in the case of an individual drive. And for it to be set to the stripe chunk size in stacking scenarios that would otherwise involve read-modify-write (i.e. RAID5 and RAID6). io_opt was meant to communicate the stripe width. Reporting very large values for io_opt is generally counterproductive since we can't write multiple gigabytes in a single operation anyway. logical <= physical <= io_min <= io_opt <= max_sectors <= max_hw_sectors -- Martin K. Petersen