diff options
author | Mike Snitzer <[email protected]> | 2014-03-20 10:11:15 -0400 |
---|---|---|
committer | Mike Snitzer <[email protected]> | 2014-03-27 16:56:23 -0400 |
commit | d132cc6d9e92424bb9d4fd35f5bd0e55d583f4be (patch) | |
tree | 9e436740996dd835cf2d9fff2c148cc48cf7b9e9 /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py | |
parent | 428e4698642794444cdb26c148a827f22c28d546 (diff) |
dm cache: prevent corruption caused by discard_block_size > cache_block_size
If the discard block size is larger than the cache block size we will
not properly quiesce IO to a region that is about to be discarded. This
results in a race between a cache migration where no copy is needed, and
a write to an adjacent cache block that's within the same large discard
block.
Workaround this by limiting the discard_block_size to cache_block_size.
Also limit the max_discard_sectors to cache_block_size.
A more comprehensive fix that introduces range locking support in the
bio_prison and proper quiescing of a discard range that spans multiple
cache blocks is already in development.
Reported-by: Morgan Mears <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
Acked-by: Joe Thornber <[email protected]>
Acked-by: Heinz Mauelshagen <[email protected]>
Cc: [email protected]
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py')
0 files changed, 0 insertions, 0 deletions