summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/reada.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/reada.c')
-rw-r--r--fs/btrfs/reada.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c
index 10d9589001a9..bb5bd49573b4 100644
--- a/fs/btrfs/reada.c
+++ b/fs/btrfs/reada.c
@@ -747,6 +747,7 @@ static void __reada_start_machine(struct btrfs_fs_info *fs_info)
747 u64 total = 0; 747 u64 total = 0;
748 int i; 748 int i;
749 749
750again:
750 do { 751 do {
751 enqueued = 0; 752 enqueued = 0;
752 mutex_lock(&fs_devices->device_list_mutex); 753 mutex_lock(&fs_devices->device_list_mutex);
@@ -758,6 +759,10 @@ static void __reada_start_machine(struct btrfs_fs_info *fs_info)
758 mutex_unlock(&fs_devices->device_list_mutex); 759 mutex_unlock(&fs_devices->device_list_mutex);
759 total += enqueued; 760 total += enqueued;
760 } while (enqueued && total < 10000); 761 } while (enqueued && total < 10000);
762 if (fs_devices->seed) {
763 fs_devices = fs_devices->seed;
764 goto again;
765 }
761 766
762 if (enqueued == 0) 767 if (enqueued == 0)
763 return; 768 return;