diff --git a/mm/vmscan.c b/mm/vmscan.c index 90126d6e8ab02..0b59aa4c6c0a9 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -917,7 +917,7 @@ static unsigned long shrink_page_list(struct list_head *page_list, /* Case 2 above */ } else if (global_reclaim(sc) || - !PageReclaim(page) || !(sc->gfp_mask & __GFP_IO)) { + !PageReclaim(page) || !may_enter_fs) { /* * This is slightly racy - end_page_writeback() * might have just cleared PageReclaim, then