The jffs2 readpage implementation was already synchronous, so use
AOP_UPDATED_PAGE to avoid cycling the page lock.

Signed-off-by: Matthew Wilcox (Oracle) <wi...@infradead.org>
Acked-by: Richard Weinberger <rich...@nod.at>
---
 fs/jffs2/file.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c
index f8fb89b10227..959a74027041 100644
--- a/fs/jffs2/file.c
+++ b/fs/jffs2/file.c
@@ -116,15 +116,17 @@ int jffs2_do_readpage_unlock(void *data, struct page *pg)
        return ret;
 }
 
-
 static int jffs2_readpage (struct file *filp, struct page *pg)
 {
        struct jffs2_inode_info *f = JFFS2_INODE_INFO(pg->mapping->host);
        int ret;
 
        mutex_lock(&f->sem);
-       ret = jffs2_do_readpage_unlock(pg->mapping->host, pg);
+       ret = jffs2_do_readpage_nolock(pg->mapping->host, pg);
        mutex_unlock(&f->sem);
+       if (!ret)
+               return AOP_UPDATED_PAGE;
+       unlock_page(pg);
        return ret;
 }
 
-- 
2.28.0

Reply via email to