summaryrefslogtreecommitdiff
path: root/fs/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/buffer.c')
-rw-r--r--fs/buffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index 9737e0dbe3ec..225d03cd622d 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2824,7 +2824,10 @@ int nobh_truncate_page(struct address_space *mapping,
/* Ok, it's mapped. Make sure it's up-to-date */
if (!folio_test_uptodate(folio)) {
- err = mapping->a_ops->readpage(NULL, &folio->page);
+ if (mapping->a_ops->read_folio)
+ err = mapping->a_ops->read_folio(NULL, folio);
+ else
+ err = mapping->a_ops->readpage(NULL, &folio->page);
if (err) {
folio_put(folio);
goto out;