On Mon, Apr 26, 2021 at 10:19:29PM +0200, David Sterba wrote: > On Fri, Apr 23, 2021 at 01:42:01PM +0100, Khaled ROMDHANI wrote: > > The variable 'zone' is uninitialized which > > introduce some build warning. > > > > It is not always set or overwritten within > > the function. So explicitly initialize it. > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Signed-off-by: Khaled ROMDHANI <khaledromdhani216@xxxxxxxxx> > > --- > > fs/btrfs/zoned.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c > > index 432509f4b3ac..42f99b25127f 100644 > > --- a/fs/btrfs/zoned.c > > +++ b/fs/btrfs/zoned.c > > @@ -136,7 +136,7 @@ static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones, > > */ > > static inline u32 sb_zone_number(int shift, int mirror) > > { > > - u64 zone; > > + u64 zone = 0; > > This is exactly same as v1 > https://lore.kernel.org/linux-btrfs/20210413130604.11487-1-khaledromdhani216@xxxxxxxxx/ > > It does fix the build warning but does not make sense in the code > because it would would silently let mirror == 4 pass. I think there was > enough feedback under the previous posts how to fix that properly. Yes, it fixes the build warning. I implemented a tiny test program before sending the patch. In which I explicitly set 'm=5' to check the change results: [356843.099365] assertion failed: z, in /home/khaled/fs_btrfs/test3.c:30 >From the above output message, I think that it catchs the assertion. Sorry, but let me know if I am missing something. I absolutly agree with you regarding the waste of memory when doing some pointless initializations. I will, come back with a V2. Thanks.