From ffd774e2e6c92d79db0f4d0bec53202a90382930 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 16 Nov 2012 15:45:05 -0500 Subject: [PATCH] prune: Report how much disk space we freed Just nicer to see... --- src/ostree/ot-builtin-prune.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ostree/ot-builtin-prune.c b/src/ostree/ot-builtin-prune.c index 693160ec..713e7b89 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: