f2fs: fix incorrect bimodal calculation
authorChao Yu <chao2.yu@samsung.com>
Wed, 23 Sep 2015 01:25:43 +0000 (09:25 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 9 Oct 2015 23:20:53 +0000 (16:20 -0700)
commit1d7e10d58a1f62c8c44668cca1cff6a2dd57d7d9
tree6773fb3abdc0a00e722ddfffa0654301baf4c562
parent4abd3f5ac49314fe345566ec859b8e60993207bf
f2fs: fix incorrect bimodal calculation

In update_sit_info, we use div_u64 to handle 'u64 divide u64' case, but
div_u64 can only handle 32-bits divisor, so our divisor with u64 type
passed to div_u64 will overflow, result in the wrong calculation when
show debug info of f2fs as below:

BDF: 464, avg. vblocks: 23509
(BDF should never exceed 100)

So change to use div64_u64 to handle this case correctly.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/debug.c