diff options
| author | Namjae Jeon <linkinjeon@kernel.org> | 2026-07-11 23:20:41 +0900 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-08-17 15:00:43 +0900 |
| commit | 350684e0498512d06963858b810101f58563810b (patch) | |
| tree | 1f838661a5f2b2c49a043789b9188da684fc5e64 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 6cbb144f8ed7ab7cb86f2f120740f578db9b62e0 (diff) | |
ksmbd: handle allocated range queries on dense files
FSCTL_QUERY_ALLOCATED_RANGES currently relies on SEEK_DATA and SEEK_HOLE
for every file. That works for files with holes, but it is not a good
match for dense files.
A zeroed range in a dense file may be represented as an unwritten extent
and skipped by SEEK_DATA. The server can then return no allocated ranges
even though the file should still be treated as allocated from the
protocol point of view.
For dense files, report the requested range clipped to EOF as allocated
instead of probing holes. Keep using SEEK_DATA and SEEK_HOLE for files
marked with FILE_ATTRIBUTE_SPARSE_FILE, and wait for writeback before
probing so punch-hole updates are visible to the filesystem seek
implementation.
This fixes the case where a query after zeroing data could return no
ranges for a dense file.
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
