diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c index ebc0b4fcb2..64a4fb26e2 100644 --- a/src/libostree/ostree-sysroot-deploy.c +++ b/src/libostree/ostree-sysroot-deploy.c @@ -2657,6 +2657,7 @@ auto_early_prune_old_deployments (OstreeSysroot *self, GPtrArray *new_deployment /* it wasn't in current_bootcsums; add */ net_new_bootcsum_dirs_total_size += bootdir_size; } + g_autofree char *net_new_formatted = g_format_size (net_new_bootcsum_dirs_total_size); { gboolean bootfs_has_space = FALSE; @@ -2667,9 +2668,13 @@ auto_early_prune_old_deployments (OstreeSysroot *self, GPtrArray *new_deployment /* does the bootfs have enough free space for temporarily holding both the new * and old bootdirs? */ if (bootfs_has_space) - return TRUE; /* nothing to do! */ + { + g_printerr ("bootfs is sufficient for calculated new size: %s\n", net_new_formatted); + return TRUE; /* nothing to do! */ + } } + g_printerr ("bootfs requires additional space: %s\n", net_new_formatted); /* OK, we would fail if we tried to write the new bootdirs. Is it salvageable? * First, calculate how much space we could save with the bootcsums scheduled * for removal. */ @@ -2680,14 +2685,17 @@ auto_early_prune_old_deployments (OstreeSysroot *self, GPtrArray *new_deployment bootcsum_dirs_to_remove_total_size += GPOINTER_TO_UINT (sizep); } + { + g_autofree char *to_remove_formated = g_format_size (bootcsum_dirs_to_remove_total_size); + g_printerr ("Size to prune from bootfs: %s\n", to_remove_formated); + } + if (net_new_bootcsum_dirs_total_size > bootcsum_dirs_to_remove_total_size) { /* Check whether if we did early prune, we'd have enough space to write * the new bootcsum dirs. */ gboolean bootfs_has_space = FALSE; - if (!dfd_fallocate_check ( - self->boot_fd, net_new_bootcsum_dirs_total_size - bootcsum_dirs_to_remove_total_size, - &bootfs_has_space, error)) + if (!dfd_fallocate_check (self->boot_fd, required_new_space, &bootfs_has_space, error)) return glnx_prefix_error (error, "Checking if prune would give bootfs sufficient space"); if (!bootfs_has_space)