diff options
author | Tim Chase <[email protected]> | 2014-09-25 23:40:41 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-09-29 09:22:03 -0700 |
commit | cb08f063074a5363810a39775fd90a4d214c5d87 (patch) | |
tree | b0a665c80be2a77ac86b250df56e0efd1f93a6ee /lib | |
parent | dcca723acee9803561dd7ef456a28c4684c28e86 (diff) |
Perform whole-page page truncation for hole-punching under a range lock
As an attempt to perform the page truncation more optimally, the
hole-punching support added in 223df0161fad50f53a8fa5ffeea8cc4f8137d522
truncated performed the operation in two steps: first, sub-page "stubs"
were zeroed under the range lock in zfs_free_range() using the new
zfs_zero_partial_page() function and then the whole pages were truncated
within zfs_freesp(). This left a window of opportunity during which
the full pages could be touched.
This patch closes the window by moving the whole-page truncation into
zfs_free_range() under the range lock.
Signed-off-by: Tim Chase <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #2733
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions