|
@@ -745,6 +745,7 @@ static void __reada_start_machine(struct btrfs_fs_info *fs_info)
|
|
|
u64 total = 0;
|
|
u64 total = 0;
|
|
|
int i;
|
|
int i;
|
|
|
|
|
|
|
|
|
|
+again:
|
|
|
do {
|
|
do {
|
|
|
enqueued = 0;
|
|
enqueued = 0;
|
|
|
mutex_lock(&fs_devices->device_list_mutex);
|
|
mutex_lock(&fs_devices->device_list_mutex);
|
|
@@ -756,6 +757,10 @@ static void __reada_start_machine(struct btrfs_fs_info *fs_info)
|
|
|
mutex_unlock(&fs_devices->device_list_mutex);
|
|
mutex_unlock(&fs_devices->device_list_mutex);
|
|
|
total += enqueued;
|
|
total += enqueued;
|
|
|
} while (enqueued && total < 10000);
|
|
} while (enqueued && total < 10000);
|
|
|
|
|
+ if (fs_devices->seed) {
|
|
|
|
|
+ fs_devices = fs_devices->seed;
|
|
|
|
|
+ goto again;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (enqueued == 0)
|
|
if (enqueued == 0)
|
|
|
return;
|
|
return;
|