summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--volumes.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/volumes.c b/volumes.c
index f623a444..388c94e1 100644
--- a/volumes.c
+++ b/volumes.c
@@ -184,12 +184,18 @@ again:
seed_devices = fs_devices->seed;
fs_devices->seed = NULL;
if (seed_devices) {
+ struct btrfs_fs_devices *orig;
+
+ orig = fs_devices;
fs_devices = seed_devices;
+ list_del(&orig->list);
+ free(orig);
goto again;
+ } else {
+ list_del(&fs_devices->list);
+ free(fs_devices);
}
- list_del(&fs_devices->list);
- free(fs_devices);
return 0;
}