2013/3/19, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>: > 2013-03-19 (화), 13:54 +0900, Namjae Jeon: >> > >> > - err = f2fs_readpage(sbi, page, dn.data_blkaddr, READ_SYNC); >> > - if (err) { >> > - f2fs_put_page(page, 1); >> > - return ERR_PTR(err); >> > + if (PageUptodate(page)) { >> > + unlock_page(page); >> > + return page; >> > } >> > - unlock_page(page); >> Hi Jaegeuk. >> > + >> > + err = f2fs_readpage(sbi, page, dn.data_blkaddr, READ_SYNC); >> > + wait_on_page_locked(page); >> > + if (!PageUptodate(page)) >> > + return ERR_PTR(-EIO); >> We don't need to release page before returning EIO ? > > Good catch! :) > >> >> > return page; >> > } >> > >> > @@ -241,9 +244,13 @@ struct page *get_lock_data_page(struct inode >> > *inode, >> > pgoff_t index) >> > BUG_ON(dn.data_blkaddr == NULL_ADDR); >> > >> > err = f2fs_readpage(sbi, page, dn.data_blkaddr, READ_SYNC); >> > - if (err) { >> > - f2fs_put_page(page, 1); >> > + if (err) >> > return ERR_PTR(err); >> Here is also same. We don't need to release page in case of err ? > > It's different. > The f2fs_readpage() releases the page if error is occurred. > Thanks, Right~. you can add Reviewed-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Thanks. > >> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html