summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/event_analyzing_sample.py
diff options
context:
space:
mode:
authorNamjae Jeon <linkinjeon@kernel.org>2026-07-26 10:00:00 +0900
committerNamjae Jeon <linkinjeon@kernel.org>2026-08-17 15:00:53 +0900
commit25e414db703334954747cb1b3eedf914b093ff8c (patch)
tree40b6c1b641283daa0b2ab235ed0e419af217bbf3 /tools/perf/scripts/python/event_analyzing_sample.py
parent3f220a0a62e6b9b391c9d1f0e6580b05173cc7f7 (diff)
ksmbd: report holes in allocated range queries
FSCTL_QUERY_ALLOCATED_RANGES treated every range in a file without the sparse attribute as allocated. Files can have holes after an ordinary write beyond EOF, so CIFS FIEMAP reported extents for those holes. SEEK_DATA and SEEK_HOLE are insufficient because unwritten extents look like holes. Use zero writes for FSCTL_SET_ZERO_DATA on dense files. Sparse files still use hole punching, and allocated-range queries can use SEEK_DATA and SEEK_HOLE for both file types. When clearing the sparse attribute, materialize holes with zero writes before updating the attribute. This keeps the file fully allocated without relying on unwritten extents that SEEK_DATA would still report as holes. Return STATUS_BUFFER_OVERFLOW when another allocated range does not fit in the SMB response so the client continues the query. Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions