Re: [PATCH] xfs: remove unused variable warning in xfs_finish_page_writeback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 5/11/16 11:14 AM, Carlos Maiolino wrote:
> From: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
> 
> Due the initialization of blockmask variable with its definition, gcc issues the
> following warning due an unused variable during compilation time.
> 
> fs/xfs//xfs_aops.c: In function ‘xfs_finish_page_writeback’:
> fs/xfs//xfs_aops.c:97:15: warning: unused variable ‘blockmask’
> [-Wunused-variable]
>   unsigned int  blockmask = (1 << inode->i_blkbits) - 1;
>                ^
> Remove this warning by initializing the variable after its definition.
> 
> This change causes no difference in the generated assembly code

Oh, I see.  It's unused on non-debug builds because it's only used
under ASSERT.

Ok, that's a good way to fix it, although there are some scanners
out there (clang?  some gcc?  I don't recall) which will also flag
write-only variables.  It'd be ugly but sometimes I wonder if an
ASSERT_DECL() macro would make some sense.

Or a MASK() macro so we could just do:

#define MASK(nbits) ((1UL << (nbits)) - 1) /* mask with NBITS bits set */

ASSERT((bvec->bv_offset & MASK(inode->i_blkbits)) == 0);

But for now, this is better, and fixes what most people will see,
so fine by me:

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

> Signed-off-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
> ---
>  fs/xfs/xfs_aops.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
> index 40645a4..f4e2d3b 100644
> --- a/fs/xfs/xfs_aops.c
> +++ b/fs/xfs/xfs_aops.c
> @@ -94,11 +94,12 @@ xfs_finish_page_writeback(
>  	struct bio_vec		*bvec,
>  	int			error)
>  {
> -	unsigned int		blockmask = (1 << inode->i_blkbits) - 1;
> +	unsigned int		blockmask;
>  	unsigned int		end = bvec->bv_offset + bvec->bv_len - 1;
>  	struct buffer_head	*head, *bh;
>  	unsigned int		off = 0;
>  
> +	blockmask = (1 << inode->i_blkbits) - 1;
>  	ASSERT(bvec->bv_offset < PAGE_SIZE);
>  	ASSERT((bvec->bv_offset & blockmask) == 0);
>  	ASSERT(end < PAGE_SIZE);
> 

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux