2021-11-10 19:20:16

by Colin Ian King

[permalink] [raw]
Subject: [PATCH] btrfs: make 1-bit bit-fields unsigned int

The bitfields have_csum and io_error are currently signed which is
not recommended as the representation is an implementation defined
behaviour. Fix this by making the bit-fields unsigned ints.

Fixes: 2c36395430b0 ("btrfs: scrub: remove the anonymous structure from scrub_page")
Signed-off-by: Colin Ian King <[email protected]>
---
fs/btrfs/scrub.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index cf82ea6f54fb..8f6ceea33969 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -73,8 +73,8 @@ struct scrub_page {
u64 physical_for_dev_replace;
atomic_t refs;
u8 mirror_num;
- int have_csum:1;
- int io_error:1;
+ unsigned int have_csum:1;
+ unsigned int io_error:1;
u8 csum[BTRFS_CSUM_SIZE];

struct scrub_recover *recover;
--
2.32.0



2021-11-10 20:34:37

by Josef Bacik

[permalink] [raw]
Subject: Re: [PATCH] btrfs: make 1-bit bit-fields unsigned int

On Wed, Nov 10, 2021 at 07:20:08PM +0000, Colin Ian King wrote:
> The bitfields have_csum and io_error are currently signed which is
> not recommended as the representation is an implementation defined
> behaviour. Fix this by making the bit-fields unsigned ints.
>
> Fixes: 2c36395430b0 ("btrfs: scrub: remove the anonymous structure from scrub_page")
> Signed-off-by: Colin Ian King <[email protected]>

Reviewed-by: Josef Bacik <[email protected]>

Thanks,

Josef

2021-11-10 23:48:08

by Qu Wenruo

[permalink] [raw]
Subject: Re: [PATCH] btrfs: make 1-bit bit-fields unsigned int



On 2021/11/11 03:20, Colin Ian King wrote:
> The bitfields have_csum and io_error are currently signed which is
> not recommended as the representation is an implementation defined
> behaviour. Fix this by making the bit-fields unsigned ints.
>
> Fixes: 2c36395430b0 ("btrfs: scrub: remove the anonymous structure from scrub_page")
> Signed-off-by: Colin Ian King <[email protected]>

Reviewed-by: Qu Wenruo <[email protected]>

Thanks,
Qu
> ---
> fs/btrfs/scrub.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
> index cf82ea6f54fb..8f6ceea33969 100644
> --- a/fs/btrfs/scrub.c
> +++ b/fs/btrfs/scrub.c
> @@ -73,8 +73,8 @@ struct scrub_page {
> u64 physical_for_dev_replace;
> atomic_t refs;
> u8 mirror_num;
> - int have_csum:1;
> - int io_error:1;
> + unsigned int have_csum:1;
> + unsigned int io_error:1;
> u8 csum[BTRFS_CSUM_SIZE];
>
> struct scrub_recover *recover;
>

2021-11-11 11:31:06

by David Sterba

[permalink] [raw]
Subject: Re: [PATCH] btrfs: make 1-bit bit-fields unsigned int

On Wed, Nov 10, 2021 at 07:20:08PM +0000, Colin Ian King wrote:
> The bitfields have_csum and io_error are currently signed which is
> not recommended as the representation is an implementation defined
> behaviour. Fix this by making the bit-fields unsigned ints.
>
> Fixes: 2c36395430b0 ("btrfs: scrub: remove the anonymous structure from scrub_page")
> Signed-off-by: Colin Ian King <[email protected]>

Added to misc-next, thanks.