From 572bd18c1f6c5856750c9c426302d690f8c528d7 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Tue, 1 Nov 2022 20:43:32 +0000 Subject: [PATCH] Make 1-bit bitfields unsigned This fixes -Wsingle-bit-bitfield-constant-conversion warning from clang-16 like: lib/libzfs/libzfs_dataset.c:4529:19: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] flags.nounmount = B_TRUE; ^ ~~~~~~ Reviewed-by: Matthew Ahrens Reviewed-by: Richard Yao Signed-off-by: Brooks Davis Closes #14125 --- include/libzfs.h | 10 +++++----- lib/libzfs/libzfs_pool.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/libzfs.h b/include/libzfs.h index 7c06ebb104..98942b4198 100644 --- a/include/libzfs.h +++ b/include/libzfs.h @@ -258,10 +258,10 @@ extern int zpool_add(zpool_handle_t *, nvlist_t *); typedef struct splitflags { /* do not split, but return the config that would be split off */ - int dryrun : 1; + unsigned int dryrun : 1; /* after splitting, import the pool */ - int import : 1; + unsigned int import : 1; int name_flags; } splitflags_t; @@ -650,13 +650,13 @@ extern int zfs_rollback(zfs_handle_t *, zfs_handle_t *, boolean_t); typedef struct renameflags { /* recursive rename */ - int recursive : 1; + unsigned int recursive : 1; /* don't unmount file systems */ - int nounmount : 1; + unsigned int nounmount : 1; /* force unmount file systems */ - int forceunmount : 1; + unsigned int forceunmount : 1; } renameflags_t; extern int zfs_rename(zfs_handle_t *, const char *, renameflags_t); diff --git a/lib/libzfs/libzfs_pool.c b/lib/libzfs/libzfs_pool.c index e2912cdb91..e43ebb15c6 100644 --- a/lib/libzfs/libzfs_pool.c +++ b/lib/libzfs/libzfs_pool.c @@ -59,8 +59,8 @@ static boolean_t zpool_vdev_is_interior(const char *name); typedef struct prop_flags { - int create:1; /* Validate property on creation */ - int import:1; /* Validate property on import */ + unsigned int create:1; /* Validate property on creation */ + unsigned int import:1; /* Validate property on import */ } prop_flags_t; /*