From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934186AbdDTBON (ORCPT ); Wed, 19 Apr 2017 21:14:13 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:5372 "EHLO dggrg02-dlp.huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1763551AbdDTBOL (ORCPT ); Wed, 19 Apr 2017 21:14:11 -0400 Subject: Re: [PATCH] f2fs: improve definition of statistic macros To: Arnd Bergmann , Jaegeuk Kim References: <20170419173841.3885833-1-arnd@arndb.de> CC: DongOh Shin , , From: Chao Yu Message-ID: Date: Thu, 20 Apr 2017 09:13:57 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <20170419173841.3885833-1-arnd@arndb.de> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.134.22.195] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020202.58F80B5B.012A,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 5a05c3751d1656d3e9c37cb1a00de82f Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017/4/20 1:38, Arnd Bergmann wrote: > With a recent addition of f2fs_lookup_extent_tree(), we get a warning about > the use of empty macros: > > fs/f2fs/extent_cache.c: In function 'f2fs_lookup_extent_tree': > fs/f2fs/extent_cache.c:358:32: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body] > stat_inc_rbtree_node_hit(sbi); > > A good way to avoid the warning and make the code more robust is to define > all no-op macros as 'do { } while (0)'. > > Fixes: 54c2258cd63a ("f2fs: extract rb-tree operation infrastructure") > Signed-off-by: Arnd Bergmann Thank you for the fix. :) Reivewed-by: Chao Yu Thanks, > --- > fs/f2fs/f2fs.h | 58 +++++++++++++++++++++++++++++----------------------------- > 1 file changed, 29 insertions(+), 29 deletions(-) > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 18bb86ac0f33..cdd33af74e01 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -2464,35 +2464,35 @@ void f2fs_destroy_stats(struct f2fs_sb_info *sbi); > int __init f2fs_create_root_stats(void); > void f2fs_destroy_root_stats(void); > #else > -#define stat_inc_cp_count(si) > -#define stat_inc_bg_cp_count(si) > -#define stat_inc_call_count(si) > -#define stat_inc_bggc_count(si) > -#define stat_inc_dirty_inode(sbi, type) > -#define stat_dec_dirty_inode(sbi, type) > -#define stat_inc_total_hit(sb) > -#define stat_inc_rbtree_node_hit(sb) > -#define stat_inc_largest_node_hit(sbi) > -#define stat_inc_cached_node_hit(sbi) > -#define stat_inc_inline_xattr(inode) > -#define stat_dec_inline_xattr(inode) > -#define stat_inc_inline_inode(inode) > -#define stat_dec_inline_inode(inode) > -#define stat_inc_inline_dir(inode) > -#define stat_dec_inline_dir(inode) > -#define stat_inc_atomic_write(inode) > -#define stat_dec_atomic_write(inode) > -#define stat_update_max_atomic_write(inode) > -#define stat_inc_volatile_write(inode) > -#define stat_dec_volatile_write(inode) > -#define stat_update_max_volatile_write(inode) > -#define stat_inc_seg_type(sbi, curseg) > -#define stat_inc_block_count(sbi, curseg) > -#define stat_inc_inplace_blocks(sbi) > -#define stat_inc_seg_count(sbi, type, gc_type) > -#define stat_inc_tot_blk_count(si, blks) > -#define stat_inc_data_blk_count(sbi, blks, gc_type) > -#define stat_inc_node_blk_count(sbi, blks, gc_type) > +#define stat_inc_cp_count(si) do { } while (0) > +#define stat_inc_bg_cp_count(si) do { } while (0) > +#define stat_inc_call_count(si) do { } while (0) > +#define stat_inc_bggc_count(si) do { } while (0) > +#define stat_inc_dirty_inode(sbi, type) do { } while (0) > +#define stat_dec_dirty_inode(sbi, type) do { } while (0) > +#define stat_inc_total_hit(sb) do { } while (0) > +#define stat_inc_rbtree_node_hit(sb) do { } while (0) > +#define stat_inc_largest_node_hit(sbi) do { } while (0) > +#define stat_inc_cached_node_hit(sbi) do { } while (0) > +#define stat_inc_inline_xattr(inode) do { } while (0) > +#define stat_dec_inline_xattr(inode) do { } while (0) > +#define stat_inc_inline_inode(inode) do { } while (0) > +#define stat_dec_inline_inode(inode) do { } while (0) > +#define stat_inc_inline_dir(inode) do { } while (0) > +#define stat_dec_inline_dir(inode) do { } while (0) > +#define stat_inc_atomic_write(inode) do { } while (0) > +#define stat_dec_atomic_write(inode) do { } while (0) > +#define stat_update_max_atomic_write(inode) do { } while (0) > +#define stat_inc_volatile_write(inode) do { } while (0) > +#define stat_dec_volatile_write(inode) do { } while (0) > +#define stat_update_max_volatile_write(inode) do { } while (0) > +#define stat_inc_seg_type(sbi, curseg) do { } while (0) > +#define stat_inc_block_count(sbi, curseg) do { } while (0) > +#define stat_inc_inplace_blocks(sbi) do { } while (0) > +#define stat_inc_seg_count(sbi, type, gc_type) do { } while (0) > +#define stat_inc_tot_blk_count(si, blks) do { } while (0) > +#define stat_inc_data_blk_count(sbi, blks, gc_type) do { } while (0) > +#define stat_inc_node_blk_count(sbi, blks, gc_type) do { } while (0) > > static inline int f2fs_build_stats(struct f2fs_sb_info *sbi) { return 0; } > static inline void f2fs_destroy_stats(struct f2fs_sb_info *sbi) { } >