]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix comparison signedness in arc_is_overflowing()
authorAlexander Motin <mav@FreeBSD.org>
Mon, 10 Jun 2019 16:52:25 +0000 (12:52 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 10 Jun 2019 16:52:25 +0000 (09:52 -0700)
commit5a902f5aaa1fbf6f7e459ec29f6d1d988ec78b0a
tree4c4e462c049d319ddde249fac3efa5252b5b14ae
parentc08c30ed131800635576282e1d142b12fa33c76b
Fix comparison signedness in arc_is_overflowing()

When ARC size is very small, aggsum_lower_bound(&arc_size) may return
negative values, that due to unsigned comparison caused delays, waiting
for arc_adjust() to "fix" it by calling aggsum_value(&arc_size).  Use
of signed comparison there fixes the problem.

Reviewed-by: Matt Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Closes #8873
module/zfs/arc.c