aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/writeback.h1
-rw-r--r--mm/page-writeback.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index f462439cc288..0d8573e6b9ec 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -63,6 +63,7 @@ struct writeback_control {
63 unsigned for_writepages:1; /* This is a writepages() call */ 63 unsigned for_writepages:1; /* This is a writepages() call */
64 unsigned range_cyclic:1; /* range_start is cyclic */ 64 unsigned range_cyclic:1; /* range_start is cyclic */
65 unsigned more_io:1; /* more io to be dispatched */ 65 unsigned more_io:1; /* more io to be dispatched */
66 unsigned range_cont:1;
66}; 67};
67 68
68/* 69/*
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 789b6adbef37..ded57d528060 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -956,6 +956,9 @@ retry:
956 } 956 }
957 if (wbc->range_cyclic || (range_whole && wbc->nr_to_write > 0)) 957 if (wbc->range_cyclic || (range_whole && wbc->nr_to_write > 0))
958 mapping->writeback_index = index; 958 mapping->writeback_index = index;
959
960 if (wbc->range_cont)
961 wbc->range_start = index << PAGE_CACHE_SHIFT;
959 return ret; 962 return ret;
960} 963}
961EXPORT_SYMBOL(write_cache_pages); 964EXPORT_SYMBOL(write_cache_pages);