[ostree] prune: Report how much disk space we freed



commit ffd774e2e6c92d79db0f4d0bec53202a90382930
Author: Colin Walters <walters verbum org>
Date:   Fri Nov 16 15:45:05 2012 -0500

    prune: Report how much disk space we freed
    
    Just nicer to see...

 src/ostree/ot-builtin-prune.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/src/ostree/ot-builtin-prune.c b/src/ostree/ot-builtin-prune.c
index 693160e..713e7b8 100644
--- a/src/ostree/ot-builtin-prune.c
+++ b/src/ostree/ot-builtin-prune.c
@@ -46,6 +46,7 @@ typedef struct {
   guint n_reachable_content;
   guint n_unreachable_meta;
   guint n_unreachable_content;
+  guint64 freed_bytes;
 } OtPruneData;
 
 static gboolean
@@ -67,8 +68,17 @@ maybe_prune_loose_object (OtPruneData    *data,
     {
       if (!opt_no_prune)
         {
+          ot_lobj GFileInfo *info = NULL;
+
+          if ((info = g_file_query_info (objf, OSTREE_GIO_FAST_QUERYINFO,
+                                         G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
+                                         cancellable, error)) == NULL)
+            goto out;
+
           if (!ot_gfile_unlink (objf, cancellable, error))
             goto out;
+
+          data->freed_bytes += g_file_info_get_size (info);
         }
       if (OSTREE_OBJECT_TYPE_IS_META (objtype))
         data->n_unreachable_meta++;
@@ -176,8 +186,13 @@ ostree_builtin_prune (int argc, char **argv, GFile *repo_path, GError **error)
 
   g_print ("Total reachable: %u meta, %u content\n",
            data.n_reachable_meta, data.n_reachable_content);
-  g_print ("Total unreachable: %u meta, %u content\n",
-           data.n_unreachable_meta, data.n_unreachable_content);
+  if (opt_no_prune)
+    g_print ("Total unreachable: %u meta, %u content\n",
+             data.n_unreachable_meta, data.n_unreachable_content);
+  else
+    g_print ("Freed %" G_GUINT64_FORMAT " bytes from %u meta, %u content objects\n",
+             data.freed_bytes, data.n_unreachable_meta, data.n_unreachable_content);
+    
 
   ret = TRUE;
  out:



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