aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2022-06-22 22:49:32 +0200
committerJens Axboe <axboe@kernel.dk>2022-08-02 17:14:31 -0600
commit6675700139a0f642097c1166b2f958b2e5439c57 (patch)
tree3cfa0e53bcfe49724ba28c2d7b6102a7cebdba0e /tools/perf/scripts/python
parentMerge tag 'for-6.0/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
downloadlinux-6675700139a0f642097c1166b2f958b2e5439c57.tar.gz
linux-6675700139a0f642097c1166b2f958b2e5439c57.zip
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 <lars.ellenberg@linbit.com> Signed-off-by: Christoph Böhmwalder <christoph.boehmwalder@linbit.com> Link: https://lore.kernel.org/r/20220622204932.196830-1-christoph.boehmwalder@linbit.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions