Skip to content

Commit

Permalink
Make 1-bit bitfields unsigned
Browse files Browse the repository at this point in the history
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 <mahrens@delphix.com>
Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Signed-off-by: Brooks Davis <brooks.davis@sri.com>
Closes openzfs#14125
  • Loading branch information
brooksdavis authored and andrewc12 committed Nov 11, 2022
1 parent fb27b6e commit adc0458
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
10 changes: 5 additions & 5 deletions include/libzfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -260,10 +260,10 @@ _LIBZFS_H 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;

Expand Down Expand Up @@ -690,13 +690,13 @@ _LIBZFS_H 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;

_LIBZFS_H int zfs_rename(zfs_handle_t *, const char *, renameflags_t);
Expand Down
6 changes: 3 additions & 3 deletions lib/libzfs/libzfs_pool.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@
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 */
int vdevprop:1; /* Validate property as a VDEV property */
unsigned int create:1; /* Validate property on creation */
unsigned int import:1; /* Validate property on import */
unsigned int vdevprop:1; /* Validate property as a VDEV property */
} prop_flags_t;

/*
Expand Down

0 comments on commit adc0458

Please sign in to comment.