[ostree] deploy: Clean up leftover state before creating new directories



commit 12e3ed83d3ab7dc8077872f1319a4d7deb0ae81f
Author: Colin Walters <walters verbum org>
Date:   Thu Jul 10 15:19:50 2014 -0400

    deploy: Clean up leftover state before creating new directories
    
    This fixes a regression introduced with 
https://git.gnome.org/browse/ostree/commit/?id=7baa600e237b326899de2899a9bc54a6b863943c
    
    The original code in "ostree admin upgrade" had a comment:
    
     /* Here we perform cleanup of any leftover data from previous
      * partial failures. This avoids having to call gs_shutil_rm_rf()
      * at random points throughout the process. */
    
    But since I deleted that initial cleanup call, we *do* need to do the
    cleanup during the process run.  It turns out there are only a few
    places this is necessary.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=733030

 src/libostree/ostree-sysroot-deploy.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
index a6f1fc0..15eb900 100644
--- a/src/libostree/ostree-sysroot-deploy.c
+++ b/src/libostree/ostree-sysroot-deploy.c
@@ -1072,6 +1072,9 @@ swap_bootlinks (OstreeSysroot *self,
   ostree_subbootdir_name = g_strdup_printf ("boot.%d.%d", bootversion, new_subbootversion);
   ostree_subbootdir = g_file_resolve_relative_path (ostree_dir, ostree_subbootdir_name);
 
+  if (!gs_shutil_rm_rf (ostree_subbootdir, cancellable, error))
+    goto out;
+
   if (!ot_util_ensure_directory_and_fsync (ostree_subbootdir, cancellable, error))
     goto out;
 
@@ -1526,6 +1529,8 @@ ostree_sysroot_write_deployments (OstreeSysroot     *self,
 
       new_loader_entries_dir = ot_gfile_resolve_path_printf (self->path, "boot/loader.%d/entries",
                                                              new_bootversion);
+      if (!gs_shutil_rm_rf (new_loader_entries_dir, cancellable, error))
+        goto out;
       if (!ot_util_ensure_directory_and_fsync (new_loader_entries_dir, cancellable, error))
         goto out;
       


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]