Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
[platform/kernel/linux-starfive.git] / fs / f2fs / recovery.c
index 6a1b466..9683c80 100644 (file)
@@ -8,6 +8,7 @@
 #include <asm/unaligned.h>
 #include <linux/fs.h>
 #include <linux/f2fs_fs.h>
+#include <linux/sched/mm.h>
 #include "f2fs.h"
 #include "node.h"
 #include "segment.h"
@@ -587,7 +588,7 @@ retry_dn:
        err = f2fs_get_dnode_of_data(&dn, start, ALLOC_NODE);
        if (err) {
                if (err == -ENOMEM) {
-                       congestion_wait(BLK_RW_ASYNC, DEFAULT_IO_TIMEOUT);
+                       memalloc_retry_wait(GFP_NOFS);
                        goto retry_dn;
                }
                goto out;
@@ -595,7 +596,7 @@ retry_dn:
 
        f2fs_wait_on_page_writeback(dn.node_page, NODE, true, true);
 
-       err = f2fs_get_node_info(sbi, dn.nid, &ni);
+       err = f2fs_get_node_info(sbi, dn.nid, &ni, false);
        if (err)
                goto err;
 
@@ -670,8 +671,7 @@ retry_prev:
                        err = check_index_in_prev_nodes(sbi, dest, &dn);
                        if (err) {
                                if (err == -ENOMEM) {
-                                       congestion_wait(BLK_RW_ASYNC,
-                                                       DEFAULT_IO_TIMEOUT);
+                                       memalloc_retry_wait(GFP_NOFS);
                                        goto retry_prev;
                                }
                                goto err;