HomeFreeBSD

Fix some signedness issues in arc_evict()

Description

Fix some signedness issues in arc_evict()

It may happen that "wanted total ARC size" (wt) is negative, that was
expected. But multiplication product of it and unsigned fractions
result in unsigned value, incorrectly shifted right with a sing loss.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Prakash Surya <prakash.surya@delphix.com>
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #14692

Details

Provenance
mavAuthored on Apr 5 2023, 5:42 PM
GitHub <noreply@github.com>Committed on Apr 5 2023, 5:42 PM
Parents
rG8eb2f2605717: Linux 6.3 compat: writepage_t first arg struct folio*
Branches
Unknown
Tags
Unknown