mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 23:00:21 +00:00
md/raid5: use do_div() for 64 bit divisions in raid5_sync_request
We get compilation error on 32-bit architectures (e.g. m68k), as: ERROR: modpost: "__udivdi3" [drivers/md/raid456.ko] undefined! Since 'sync_blocks' is defined as u64, use do_div() to fix this error. Fixes: c911c46c017c ("md/raid456: convert macro STRIPE_* to RAID5_STRIPE_*") Signed-off-by: Yufen Yu <yuyufen@huawei.com> Signed-off-by: Song Liu <songliubraving@fb.com>
This commit is contained in:
parent
ef67744e7a
commit
83c3e5e17b
@ -6104,7 +6104,7 @@ static inline sector_t raid5_sync_request(struct mddev *mddev, sector_t sector_n
|
||||
!md_bitmap_start_sync(mddev->bitmap, sector_nr, &sync_blocks, 1) &&
|
||||
sync_blocks >= RAID5_STRIPE_SECTORS(conf)) {
|
||||
/* we can skip this block, and probably more */
|
||||
sync_blocks /= RAID5_STRIPE_SECTORS(conf);
|
||||
do_div(sync_blocks, RAID5_STRIPE_SECTORS(conf));
|
||||
*skipped = 1;
|
||||
/* keep things rounded to whole stripes */
|
||||
return sync_blocks * RAID5_STRIPE_SECTORS(conf);
|
||||
|
Loading…
x
Reference in New Issue
Block a user