jffs2: Pass the file pointer to jffs2_do_readpage_unlock()

In preparation for unifying the read_cache_page() and read_folio()
implementations, make jffs2_do_readpage_unlock() get the inode
from the page instead of passing it in from read_cache_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Matthew Wilcox (Oracle) 2022-05-01 19:39:03 -04:00
parent 7e0a126519
commit 2294f9b879
2 changed files with 3 additions and 3 deletions

View File

@ -112,7 +112,7 @@ static int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg)
int jffs2_do_readpage_unlock(void *data, struct page *pg)
{
int ret = jffs2_do_readpage_nolock(data, pg);
int ret = jffs2_do_readpage_nolock(pg->mapping->host, pg);
unlock_page(pg);
return ret;
}
@ -124,7 +124,7 @@ static int jffs2_read_folio(struct file *file, struct folio *folio)
int ret;
mutex_lock(&f->sem);
ret = jffs2_do_readpage_unlock(folio->mapping->host, &folio->page);
ret = jffs2_do_readpage_unlock(file, &folio->page);
mutex_unlock(&f->sem);
return ret;
}

View File

@ -1327,7 +1327,7 @@ static int jffs2_garbage_collect_dnode(struct jffs2_sb_info *c, struct jffs2_era
* trying to write out, read_cache_page() will not deadlock. */
mutex_unlock(&f->sem);
page = read_cache_page(inode->i_mapping, start >> PAGE_SHIFT,
jffs2_do_readpage_unlock, inode);
jffs2_do_readpage_unlock, NULL);
if (IS_ERR(page)) {
pr_warn("read_cache_page() returned error: %ld\n",
PTR_ERR(page));