Don't remove the last snapshot unless disk space is low.
[dss.git] / dss.c
diff --git a/dss.c b/dss.c
index d2afc10d59d266e0db54cdae04c283feca68c306..089f954da86ceeb9997420300e466c0a45a619b8 100644 (file)
--- a/dss.c
+++ b/dss.c
@@ -432,6 +432,9 @@ static int try_to_free_disk_space(int low_disk_space)
        if (!low_disk_space && conf.keep_redundant_given)
                return 0;
        dss_get_snapshot_list(&sl);
+       ret = 0;
+       if (!low_disk_space && sl.num_snapshots <= 1)
+               goto out;
        why = "outdated";
        victim = find_outdated_snapshot(&sl);
        if (victim)
@@ -441,7 +444,6 @@ static int try_to_free_disk_space(int low_disk_space)
        if (victim)
                goto remove;
        /* try harder only if disk space is low */
-       ret = 0;
        if (!low_disk_space)
                goto out;
        why = "orphaned";