aboutsummaryrefslogtreecommitdiffstats
path: root/module/zcommon/cityhash.c
diff options
context:
space:
mode:
authorMark Johnston <[email protected]>2024-10-13 16:17:08 +0000
committerBrian Behlendorf <[email protected]>2024-11-13 07:25:39 -0800
commit178682506f92e39a8f6f1de800a471ab9c7bd848 (patch)
tree6e72a1d4c5ecbb90aa56ea27aaddcb50bafa6863 /module/zcommon/cityhash.c
parent25eb538778383eb4cc80fb1627ef5efe678a7fae (diff)
Grab the rangelock unconditionally in zfs_getpages()
As a deadlock avoidance measure, zfs_getpages() would only try to acquire a rangelock, falling back to a single-page read if this was not possible. However, this is incompatible with direct I/O. Instead, release the busy lock before trying to acquire the rangelock in blocking mode. This means that it's possible for the page to be replaced, so we have to re-lookup. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Brian Atkinson <[email protected]> Signed-off-by: Mark Johnston <[email protected]> Closes #16643
Diffstat (limited to 'module/zcommon/cityhash.c')
0 files changed, 0 insertions, 0 deletions