aboutsummaryrefslogtreecommitdiffstats
path: root/mm/backing-dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r--mm/backing-dev.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 5f6553ef1ba7..7ba303be5e03 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -260,18 +260,6 @@ int bdi_has_dirty_io(struct backing_dev_info *bdi)
260 return wb_has_dirty_io(&bdi->wb); 260 return wb_has_dirty_io(&bdi->wb);
261} 261}
262 262
263static void bdi_flush_io(struct backing_dev_info *bdi)
264{
265 struct writeback_control wbc = {
266 .sync_mode = WB_SYNC_NONE,
267 .older_than_this = NULL,
268 .range_cyclic = 1,
269 .nr_to_write = 1024,
270 };
271
272 writeback_inodes_wb(&bdi->wb, &wbc);
273}
274
275/* 263/*
276 * kupdated() used to do this. We cannot do it from the bdi_forker_thread() 264 * kupdated() used to do this. We cannot do it from the bdi_forker_thread()
277 * or we risk deadlocking on ->s_umount. The longer term solution would be 265 * or we risk deadlocking on ->s_umount. The longer term solution would be
@@ -457,9 +445,10 @@ static int bdi_forker_thread(void *ptr)
457 if (IS_ERR(task)) { 445 if (IS_ERR(task)) {
458 /* 446 /*
459 * If thread creation fails, force writeout of 447 * If thread creation fails, force writeout of
460 * the bdi from the thread. 448 * the bdi from the thread. Hopefully 1024 is
449 * large enough for efficient IO.
461 */ 450 */
462 bdi_flush_io(bdi); 451 writeback_inodes_wb(&bdi->wb, 1024);
463 } else { 452 } else {
464 /* 453 /*
465 * The spinlock makes sure we do not lose 454 * The spinlock makes sure we do not lose