HomeFreeBSD

Additional limits on hole reporting

Description

Additional limits on hole reporting

Holding the zp->z_rangelock as a RL_READER over the range
0-UINT64_MAX is sufficient to prevent the dnode from being
re-dirtied by concurrent writers. To avoid potentially
looping multiple times for external caller which do not
take the rangelock holes are not reported after the first
sync. While not optimal this is always functionally correct.

This change adds the missing rangelock calls on FreeBSD to
zvol_cdev_ioctl().

Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #14512
Closes #14641

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Mar 28 2023, 3:19 PM
Tony Hutter <hutter2@llnl.gov>Committed on Mar 29 2023, 5:40 PM
Parents
rG3da577280a13: Add colored output to zfs list
Branches
Unknown
Tags
Unknown

Event Timeline

Tony Hutter <hutter2@llnl.gov> committed rG164d184ed9d1: Additional limits on hole reporting (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Mar 29 2023, 5:40 PM