[Suspend2][ 14/28] [Suspend2] Release swapwriter storage.

From: Nigel Cunningham
Date: Mon Jun 26 2006 - 18:45:03 EST


Free storage that has been allocated and also clear out the extent chains
that record the sectors.

Signed-off-by: Nigel Cunningham <nigel@xxxxxxxxxxxx>

kernel/power/suspend_swap.c | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/kernel/power/suspend_swap.c b/kernel/power/suspend_swap.c
index ae0dfad..ae33a4e 100644
--- a/kernel/power/suspend_swap.c
+++ b/kernel/power/suspend_swap.c
@@ -452,3 +452,34 @@ static void swapwriter_cleanup(int endin
close_bdevs();
}

+static int swapwriter_release_storage(void)
+{
+ int i = 0;
+
+ if (test_action_state(SUSPEND_KEEP_IMAGE) &&
+ test_suspend_state(SUSPEND_NOW_RESUMING))
+ return 0;
+
+ header_pages_allocated = 0;
+
+ if (swapextents.first) {
+ /* Free swap entries */
+ struct extent *extentpointer;
+ unsigned long extentvalue;
+ swp_entry_t entry;
+ suspend_extent_for_each(&swapextents, extentpointer,
+ extentvalue) {
+ entry = extent_val_to_swap_entry(extentvalue);
+ swap_free(entry);
+ }
+
+ suspend_put_extent_chain(&swapextents);
+
+ for (i = 0; i < MAX_SWAPFILES; i++)
+ if (block_chain[i].first)
+ suspend_put_extent_chain(&block_chain[i]);
+ }
+
+ return 0;
+}
+

--
Nigel Cunningham nigel at suspend2 dot net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/