diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fs-writeback.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 14f06b459197..f8cd7a97f5b7 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -868,16 +868,16 @@ static void bdi_writeback_all(struct writeback_control *wbc) | |||
868 | 868 | ||
869 | WARN_ON(wbc->sync_mode == WB_SYNC_ALL); | 869 | WARN_ON(wbc->sync_mode == WB_SYNC_ALL); |
870 | 870 | ||
871 | spin_lock(&bdi_lock); | 871 | rcu_read_lock(); |
872 | 872 | ||
873 | list_for_each_entry(bdi, &bdi_list, bdi_list) { | 873 | list_for_each_entry_rcu(bdi, &bdi_list, bdi_list) { |
874 | if (!bdi_has_dirty_io(bdi)) | 874 | if (!bdi_has_dirty_io(bdi)) |
875 | continue; | 875 | continue; |
876 | 876 | ||
877 | bdi_alloc_queue_work(bdi, wbc); | 877 | bdi_alloc_queue_work(bdi, wbc); |
878 | } | 878 | } |
879 | 879 | ||
880 | spin_unlock(&bdi_lock); | 880 | rcu_read_unlock(); |
881 | } | 881 | } |
882 | 882 | ||
883 | /* | 883 | /* |