]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sysupdate: propagate transfer_instance_vacuum() errors
authordongshengyuan <545258830@qq.com>
Thu, 25 Jun 2026 08:16:40 +0000 (16:16 +0800)
committerdongshengyuan <545258830@qq.com>
Thu, 25 Jun 2026 08:16:40 +0000 (16:16 +0800)
Both vacuum loops silently return 0 on failure instead of propagating
the error code, hiding disk cleanup failures from the caller.

Signed-off-by: dongshengyuan <dongshengyuan@uniontech.com>
src/sysupdate/sysupdate-transfer.c

index 4d698d620f7cffb4f626a5602c280da2748f37b9..f7e257e041a67b17dd2927b30e7dc9aeefd4f842 100644 (file)
@@ -838,7 +838,7 @@ int transfer_vacuum(
 
                 r = transfer_instance_vacuum(t, instance);
                 if (r < 0)
-                        return 0;
+                        return r;
 
                 instance_free(instance);
                 memmove(t->target.instances + i, t->target.instances + i + 1, (t->target.n_instances - i - 1) * sizeof(Instance*));
@@ -937,7 +937,7 @@ int transfer_vacuum(
 
                 r = transfer_instance_vacuum(t, oldest);
                 if (r < 0)
-                        return 0;
+                        return r;
 
                 instance_free(oldest);
                 memmove(t->target.instances + p, t->target.instances + p + 1, (t->target.n_instances - p - 1) * sizeof(Instance*));