From bc8bcfc71a77c1e7f591d3208aa24101380f0328 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Fri, 12 Sep 2025 14:05:38 -0400 Subject: [PATCH] Fix type in dbrrd_closest() For ABS() to work, the argument must be signed, but rrdd_time is uint64_t. Clang noticed it. Reviewed-by: Brian Behlendorf Reviewed-by: Mariusz Zaborski Signed-off-by: Alexander Motin Fixes #16853 Closes #17733 --- module/zfs/zfs_crrd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/zfs/zfs_crrd.c b/module/zfs/zfs_crrd.c index f9267ed41..e5783b7b8 100644 --- a/module/zfs/zfs_crrd.c +++ b/module/zfs/zfs_crrd.c @@ -208,7 +208,8 @@ dbrrd_closest(hrtime_t tv, const rrd_data_t *r1, const rrd_data_t *r2) if (r2 == NULL) return (r1); - return (ABS(tv - r1->rrdd_time) < ABS(tv - r2->rrdd_time) ? r1 : r2); + return (ABS(tv - (hrtime_t)r1->rrdd_time) < + ABS(tv - (hrtime_t)r2->rrdd_time) ? r1 : r2); } uint64_t