Re: [f2fs-dev] [PATCH] f2fs: use extra parenthesis around assignment/condition
On 2017/10/17 17:07, Arnd Bergmann wrote: > gcc warns that writing a while() loop with an assignment as the condition > looks suspiciously like a comparison, and suggests a workaround: > > fs/f2fs/checkpoint.c: In function 'sync_meta_pages': > fs/f2fs/checkpoint.c:321:9: error: suggest parentheses around assignment used > as truth value [-Werror=parentheses] > while (nr_pages = pagevec_lookup_tag(, mapping, , > > This seems reasonable, so let's do that. > > Fixes: 4aba7297f4a5 ("f2fs: simplify page iteration loops") > Signed-off-by: Arnd BergmannReviewed-by: Chao Yu Thanks, > --- > The warning is from mmotm. Andrew, please fold this fix into the > patch that caused the warning, unless there are objections. > --- > fs/f2fs/checkpoint.c | 4 ++-- > fs/f2fs/node.c | 16 > 2 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c > index 3ed9dcbf70ae..6124f8710dc3 100644 > --- a/fs/f2fs/checkpoint.c > +++ b/fs/f2fs/checkpoint.c > @@ -318,8 +318,8 @@ long sync_meta_pages(struct f2fs_sb_info *sbi, enum > page_type type, > > blk_start_plug(); > > - while (nr_pages = pagevec_lookup_tag(, mapping, , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, mapping, , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c > index d4ceb9ebfe92..d6e4df0bb622 100644 > --- a/fs/f2fs/node.c > +++ b/fs/f2fs/node.c > @@ -1285,8 +1285,8 @@ static struct page *last_fsync_dnode(struct > f2fs_sb_info *sbi, nid_t ino) > pagevec_init(, 0); > index = 0; > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > @@ -1439,8 +1439,8 @@ int fsync_node_pages(struct f2fs_sb_info *sbi, struct > inode *inode, > pagevec_init(, 0); > index = 0; > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > @@ -1552,8 +1552,8 @@ int sync_node_pages(struct f2fs_sb_info *sbi, struct > writeback_control *wbc, > next_step: > index = 0; > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > @@ -1650,8 +1650,8 @@ int wait_on_node_pages_writeback(struct f2fs_sb_info > *sbi, nid_t ino) > > pagevec_init(, 0); > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_WRITEBACK)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_WRITEBACK))) { > int i; > > for (i = 0; i < nr_pages; i++) { > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
Re: [f2fs-dev] [PATCH] f2fs: use extra parenthesis around assignment/condition
On Tue 17-10-17 11:07:12, Arnd Bergmann wrote: > gcc warns that writing a while() loop with an assignment as the condition > looks suspiciously like a comparison, and suggests a workaround: > > fs/f2fs/checkpoint.c: In function 'sync_meta_pages': > fs/f2fs/checkpoint.c:321:9: error: suggest parentheses around assignment used > as truth value [-Werror=parentheses] > while (nr_pages = pagevec_lookup_tag(, mapping, , > > This seems reasonable, so let's do that. > > Fixes: 4aba7297f4a5 ("f2fs: simplify page iteration loops") > Signed-off-by: Arnd Bergmann> --- > The warning is from mmotm. Andrew, please fold this fix into the > patch that caused the warning, unless there are objections. Yeah, thanks for fixing this. Honza > --- > fs/f2fs/checkpoint.c | 4 ++-- > fs/f2fs/node.c | 16 > 2 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c > index 3ed9dcbf70ae..6124f8710dc3 100644 > --- a/fs/f2fs/checkpoint.c > +++ b/fs/f2fs/checkpoint.c > @@ -318,8 +318,8 @@ long sync_meta_pages(struct f2fs_sb_info *sbi, enum > page_type type, > > blk_start_plug(); > > - while (nr_pages = pagevec_lookup_tag(, mapping, , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, mapping, , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c > index d4ceb9ebfe92..d6e4df0bb622 100644 > --- a/fs/f2fs/node.c > +++ b/fs/f2fs/node.c > @@ -1285,8 +1285,8 @@ static struct page *last_fsync_dnode(struct > f2fs_sb_info *sbi, nid_t ino) > pagevec_init(, 0); > index = 0; > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > @@ -1439,8 +1439,8 @@ int fsync_node_pages(struct f2fs_sb_info *sbi, struct > inode *inode, > pagevec_init(, 0); > index = 0; > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > @@ -1552,8 +1552,8 @@ int sync_node_pages(struct f2fs_sb_info *sbi, struct > writeback_control *wbc, > next_step: > index = 0; > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_DIRTY)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_DIRTY))) { > int i; > > for (i = 0; i < nr_pages; i++) { > @@ -1650,8 +1650,8 @@ int wait_on_node_pages_writeback(struct f2fs_sb_info > *sbi, nid_t ino) > > pagevec_init(, 0); > > - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > - PAGECACHE_TAG_WRITEBACK)) { > + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , > + PAGECACHE_TAG_WRITEBACK))) { > int i; > > for (i = 0; i < nr_pages; i++) { > -- > 2.9.0 > -- Jan Kara SUSE Labs, CR -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
[f2fs-dev] [PATCH] f2fs: use extra parenthesis around assignment/condition
gcc warns that writing a while() loop with an assignment as the condition looks suspiciously like a comparison, and suggests a workaround: fs/f2fs/checkpoint.c: In function 'sync_meta_pages': fs/f2fs/checkpoint.c:321:9: error: suggest parentheses around assignment used as truth value [-Werror=parentheses] while (nr_pages = pagevec_lookup_tag(, mapping, , This seems reasonable, so let's do that. Fixes: 4aba7297f4a5 ("f2fs: simplify page iteration loops") Signed-off-by: Arnd Bergmann--- The warning is from mmotm. Andrew, please fold this fix into the patch that caused the warning, unless there are objections. --- fs/f2fs/checkpoint.c | 4 ++-- fs/f2fs/node.c | 16 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index 3ed9dcbf70ae..6124f8710dc3 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -318,8 +318,8 @@ long sync_meta_pages(struct f2fs_sb_info *sbi, enum page_type type, blk_start_plug(); - while (nr_pages = pagevec_lookup_tag(, mapping, , - PAGECACHE_TAG_DIRTY)) { + while ((nr_pages = pagevec_lookup_tag(, mapping, , + PAGECACHE_TAG_DIRTY))) { int i; for (i = 0; i < nr_pages; i++) { diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index d4ceb9ebfe92..d6e4df0bb622 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1285,8 +1285,8 @@ static struct page *last_fsync_dnode(struct f2fs_sb_info *sbi, nid_t ino) pagevec_init(, 0); index = 0; - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , - PAGECACHE_TAG_DIRTY)) { + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , + PAGECACHE_TAG_DIRTY))) { int i; for (i = 0; i < nr_pages; i++) { @@ -1439,8 +1439,8 @@ int fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode, pagevec_init(, 0); index = 0; - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , - PAGECACHE_TAG_DIRTY)) { + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , + PAGECACHE_TAG_DIRTY))) { int i; for (i = 0; i < nr_pages; i++) { @@ -1552,8 +1552,8 @@ int sync_node_pages(struct f2fs_sb_info *sbi, struct writeback_control *wbc, next_step: index = 0; - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , - PAGECACHE_TAG_DIRTY)) { + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , + PAGECACHE_TAG_DIRTY))) { int i; for (i = 0; i < nr_pages; i++) { @@ -1650,8 +1650,8 @@ int wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, nid_t ino) pagevec_init(, 0); - while (nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , - PAGECACHE_TAG_WRITEBACK)) { + while ((nr_pages = pagevec_lookup_tag(, NODE_MAPPING(sbi), , + PAGECACHE_TAG_WRITEBACK))) { int i; for (i = 0; i < nr_pages; i++) { -- 2.9.0 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel