From 436ab35a53bad83c3dc4b8f1dc2b6ad00bd5e9ec Mon Sep 17 00:00:00 2001 From: Ryan Moeller Date: Mon, 15 Feb 2021 13:15:50 -0500 Subject: [PATCH] Make inline ABD predicates compatible with C++ FreeBSD's zfsd fails to build after e2af2acce3 due to strict type checking errors from the implicit conversion between bool and boolean_t in the inline predicate definitions in abd.h. Use conditionals to return the correct value type from these functions. Reviewed-by: Matthew Ahrens Reviewed-by: Brian Behlendorf Reviewed-by: Igor Kozhukhov Signed-off-by: Ryan Moeller Closes #11592 --- include/sys/abd.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/sys/abd.h b/include/sys/abd.h index 55db8c1a0..a7eee89ca 100644 --- a/include/sys/abd.h +++ b/include/sys/abd.h @@ -177,19 +177,19 @@ abd_zero(abd_t *abd, size_t size) static inline boolean_t abd_is_linear(abd_t *abd) { - return ((abd->abd_flags & ABD_FLAG_LINEAR) != 0); + return ((abd->abd_flags & ABD_FLAG_LINEAR) ? B_TRUE : B_FALSE); } static inline boolean_t abd_is_linear_page(abd_t *abd) { - return ((abd->abd_flags & ABD_FLAG_LINEAR_PAGE) != 0); + return ((abd->abd_flags & ABD_FLAG_LINEAR_PAGE) ? B_TRUE : B_FALSE); } static inline boolean_t abd_is_gang(abd_t *abd) { - return ((abd->abd_flags & ABD_FLAG_GANG) != 0); + return ((abd->abd_flags & ABD_FLAG_GANG) ? B_TRUE : B_FALSE); } static inline uint_t