The ecryptfs 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>
---
 fs/ecryptfs/mmap.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c
index 019572c6b39a..dee35181d789 100644
--- a/fs/ecryptfs/mmap.c
+++ b/fs/ecryptfs/mmap.c
@@ -219,12 +219,13 @@ static int ecryptfs_readpage(struct file *file, struct 
page *page)
                }
        }
 out:
-       if (rc)
-               ClearPageUptodate(page);
-       else
-               SetPageUptodate(page);
-       ecryptfs_printk(KERN_DEBUG, "Unlocking page with index = [0x%.16lx]\n",
+       ecryptfs_printk(KERN_DEBUG, "Returning page with index = [0x%.16lx]\n",
                        page->index);
+       if (!rc) {
+               SetPageUptodate(page);
+               return AOP_UPDATED_PAGE;
+       }
+       ClearPageUptodate(page);
        unlock_page(page);
        return rc;
 }
-- 
2.28.0

Reply via email to