Hi Dan, On Wed, Aug 12, 2015 at 01:40:10PM +0300, Dan Carpenter wrote: > Hello Jaegeuk Kim, > > The patch 86531d6b84bc: "f2fs: callers take care of the page from bio > error" from Jul 15, 2015, leads to the following static checker > warning: > > fs/f2fs/node.c:1042 ra_node_page() > warn: 'err' can be either negative or positive > > fs/f2fs/node.c > 1025 void ra_node_page(struct f2fs_sb_info *sbi, nid_t nid) > 1026 { > 1027 struct page *apage; > 1028 int err; > 1029 > 1030 apage = find_get_page(NODE_MAPPING(sbi), nid); > 1031 if (apage && PageUptodate(apage)) { > 1032 f2fs_put_page(apage, 0); > 1033 return; > 1034 } > 1035 f2fs_put_page(apage, 0); > 1036 > 1037 apage = grab_cache_page(NODE_MAPPING(sbi), nid); > 1038 if (!apage) > 1039 return; > 1040 > 1041 err = read_node_page(apage, READA); > 1042 f2fs_put_page(apage, err ? 1 : 0); > > In the old code we took errors into consideration but now we treat them > as LOCKED_PAGE. Is that intentional? A lot of the other callers in > that patch still check for errors...
This is just for read-ahead node page function. So, yes, if it returns LOCKED_PAGE or any error, the page must be unlocked via f2fs_put_page(1). Otherwise, end_io will unlock the page. Hmm, any workaround to avoid that warning? Thanks, > > 1043 } > > regards, > dan carpenter ------------------------------------------------------------------------------ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel