diff options
Diffstat (limited to 'fs/fs-writeback.c')
-rw-r--r-- | fs/fs-writeback.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 0b3064079fa5..db80ce9eb1d0 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -515,8 +515,7 @@ writeback_inodes(struct writeback_control *wbc) | |||
515 | might_sleep(); | 515 | might_sleep(); |
516 | spin_lock(&sb_lock); | 516 | spin_lock(&sb_lock); |
517 | restart: | 517 | restart: |
518 | sb = sb_entry(super_blocks.prev); | 518 | list_for_each_entry_reverse(sb, &super_blocks, s_list) { |
519 | for (; sb != sb_entry(&super_blocks); sb = sb_entry(sb->s_list.prev)) { | ||
520 | if (sb_has_dirty_inodes(sb)) { | 519 | if (sb_has_dirty_inodes(sb)) { |
521 | /* we're making our own get_super here */ | 520 | /* we're making our own get_super here */ |
522 | sb->s_count++; | 521 | sb->s_count++; |
@@ -581,10 +580,8 @@ static void set_sb_syncing(int val) | |||
581 | { | 580 | { |
582 | struct super_block *sb; | 581 | struct super_block *sb; |
583 | spin_lock(&sb_lock); | 582 | spin_lock(&sb_lock); |
584 | sb = sb_entry(super_blocks.prev); | 583 | list_for_each_entry_reverse(sb, &super_blocks, s_list) |
585 | for (; sb != sb_entry(&super_blocks); sb = sb_entry(sb->s_list.prev)) { | ||
586 | sb->s_syncing = val; | 584 | sb->s_syncing = val; |
587 | } | ||
588 | spin_unlock(&sb_lock); | 585 | spin_unlock(&sb_lock); |
589 | } | 586 | } |
590 | 587 | ||