9318 vol_volsize_to_reservation does not account for raidz skip blocks
Review Request #1997 — Created June 13, 2019 and submitted — Latest diff uploaded
Information | |
---|---|
mgerdts | |
illumos-gate | |
Reviewers | |
general | |
This makes it so that
refreservation=auto
causes therefreservation
to be sized based on the least efficient top-level vdev in the pool.
- Performed a full run of zfstest on a baseline (pkg://omnios/entire@11-151031.0:20190603T195911Z) and on new bits. No new failures were observed. Note that some tests caused zfs-on-zfs deadlock in the baseline so I commented those tests.
- Added new tests to cover new functionality. They pass with 3 disks, with 14+ disks, with 512 byte or 4096 sectors. 512x3 512x20 4096x3 4096x20
- Created raidz{1,2,3} pools with various numbers of 4Kn disks, created volumes with various values for
volblocksize
, then filled the volumes. Verified that referenced never exceeded refreservation and that refreservation was unreasonbly high. results - Did volume overwrite test on a bunch of other whacky multi-raidz{1,2,3} and mirror combo pools. results
- While testing
volblocksize=512
onashift=9
pools, I found that things are whack even in the baseline. See illumos#11237.