diff options
Diffstat (limited to 'fs/fs-writeback.c')
-rw-r--r-- | fs/fs-writeback.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index d0553f33fb50..f43c479feee9 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -560,12 +560,8 @@ static int writeback_sb_inodes(struct super_block *sb, struct bdi_writeback *wb, | |||
560 | iput(inode); | 560 | iput(inode); |
561 | cond_resched(); | 561 | cond_resched(); |
562 | spin_lock(&wb->list_lock); | 562 | spin_lock(&wb->list_lock); |
563 | if (wbc->nr_to_write <= 0) { | 563 | if (wbc->nr_to_write <= 0) |
564 | wbc->more_io = 1; | ||
565 | return 1; | 564 | return 1; |
566 | } | ||
567 | if (!list_empty(&wb->b_more_io)) | ||
568 | wbc->more_io = 1; | ||
569 | } | 565 | } |
570 | /* b_io is empty */ | 566 | /* b_io is empty */ |
571 | return 1; | 567 | return 1; |
@@ -708,7 +704,6 @@ static long wb_writeback(struct bdi_writeback *wb, | |||
708 | wbc.older_than_this = &oldest_jif; | 704 | wbc.older_than_this = &oldest_jif; |
709 | } | 705 | } |
710 | 706 | ||
711 | wbc.more_io = 0; | ||
712 | wbc.nr_to_write = write_chunk; | 707 | wbc.nr_to_write = write_chunk; |
713 | wbc.pages_skipped = 0; | 708 | wbc.pages_skipped = 0; |
714 | wbc.inodes_written = 0; | 709 | wbc.inodes_written = 0; |
@@ -740,7 +735,7 @@ static long wb_writeback(struct bdi_writeback *wb, | |||
740 | /* | 735 | /* |
741 | * No more inodes for IO, bail | 736 | * No more inodes for IO, bail |
742 | */ | 737 | */ |
743 | if (!wbc.more_io) | 738 | if (list_empty(&wb->b_more_io)) |
744 | break; | 739 | break; |
745 | /* | 740 | /* |
746 | * Nothing written. Wait for some inode to | 741 | * Nothing written. Wait for some inode to |