diff options
| author | Lars Ellenberg <[email protected]> | 2022-06-22 22:49:32 +0200 |
|---|---|---|
| committer | Jens Axboe <[email protected]> | 2022-08-02 17:14:31 -0600 |
| commit | 6675700139a0f642097c1166b2f958b2e5439c57 (patch) | |
| tree | 3cfa0e53bcfe49724ba28c2d7b6102a7cebdba0e /tools/perf/scripts/python/stackcollapse.py | |
| parent | 8374cfe647a1f360be3228b949dd6d753c55c19c (diff) | |
drbd: bm_page_async_io: fix spurious bitmap "IO error" on large volumes
We usually do all our bitmap IO in units of PAGE_SIZE.
With very small or oddly sized external meta data, or with
PAGE_SIZE != 4k, it can happen that our last on-disk bitmap page
is not fully PAGE_SIZE aligned, so we may need to adjust the size
of the IO.
We used to do that with
min_t(unsigned int, PAGE_SIZE,
last_allowed_sector - current_offset);
And for just the right diff, (unsigned int)(diff) will result in 0.
A bio of length 0 will correctly be rejected with an IO error
(and some scary WARN_ON_ONCE()) by the scsi layer.
Do the calculation properly.
Signed-off-by: Lars Ellenberg <[email protected]>
Signed-off-by: Christoph Böhmwalder <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions