]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - 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
CommitLineData
2cf01268
GKH
1From 013ad043906b2befd4a9bfb06219ed9fedd92716 Mon Sep 17 00:00:00 2001
2From: Mike Snitzer <snitzer@redhat.com>
3Date: Thu, 13 Sep 2018 21:16:20 -0400
4Subject: dm thin metadata: fix __udivdi3 undefined on 32-bit
5
6From: Mike Snitzer <snitzer@redhat.com>
7
8commit 013ad043906b2befd4a9bfb06219ed9fedd92716 upstream.
9
10sector_div() is only viable for use with sector_t.
11dm_block_t is typedef'd to uint64_t -- so use div_u64() instead.
12
13Fixes: 3ab918281 ("dm thin metadata: try to avoid ever aborting transactions")
14Signed-off-by: Mike Snitzer <snitzer@redhat.com>
15Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
16Signed-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,