]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.9.132/dm-thin-metadata-fix-__udivdi3-undefined-on-32-bit.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 4.9.132 / dm-thin-metadata-fix-__udivdi3-undefined-on-32-bit.patch
1 From 013ad043906b2befd4a9bfb06219ed9fedd92716 Mon Sep 17 00:00:00 2001
2 From: Mike Snitzer <snitzer@redhat.com>
3 Date: Thu, 13 Sep 2018 21:16:20 -0400
4 Subject: dm thin metadata: fix __udivdi3 undefined on 32-bit
5
6 From: Mike Snitzer <snitzer@redhat.com>
7
8 commit 013ad043906b2befd4a9bfb06219ed9fedd92716 upstream.
9
10 sector_div() is only viable for use with sector_t.
11 dm_block_t is typedef'd to uint64_t -- so use div_u64() instead.
12
13 Fixes: 3ab918281 ("dm thin metadata: try to avoid ever aborting transactions")
14 Signed-off-by: Mike Snitzer <snitzer@redhat.com>
15 Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17
18 ---
19 drivers/md/dm-thin-metadata.c | 6 ++----
20 1 file changed, 2 insertions(+), 4 deletions(-)
21
22 --- a/drivers/md/dm-thin-metadata.c
23 +++ b/drivers/md/dm-thin-metadata.c
24 @@ -843,10 +843,8 @@ static void __set_metadata_reserve(struc
25 if (r) {
26 DMERR("could not get size of metadata device");
27 pmd->metadata_reserve = max_blocks;
28 - } else {
29 - sector_div(total, 10);
30 - pmd->metadata_reserve = min(max_blocks, total);
31 - }
32 + } else
33 + pmd->metadata_reserve = min(max_blocks, div_u64(total, 10));
34 }
35
36 struct dm_pool_metadata *dm_pool_metadata_open(struct block_device *bdev,