From 637f49904a9934d88788883b70ffd72b56e09624 Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Sat, 30 Nov 2013 14:33:22 +0100 Subject: [PATCH] Move swap partition before root --- base/fs/partitionmaps/gpt.py | 10 ++++++---- base/fs/partitionmaps/mbr.py | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/base/fs/partitionmaps/gpt.py b/base/fs/partitionmaps/gpt.py index 7a95943..2d45229 100644 --- a/base/fs/partitionmaps/gpt.py +++ b/base/fs/partitionmaps/gpt.py @@ -8,15 +8,17 @@ class GPTPartitionMap(AbstractPartitionMap): def __init__(self, data): self.partitions = [] + + def last_partition(): + return self.partitions[-1] if len(self.partitions) > 0 else None if 'boot' in data: self.boot = GPTPartition(data['boot']['size'], data['boot']['filesystem'], 'boot', None) self.partitions.append(self.boot) - self.root = GPTPartition(data['root']['size'], data['root']['filesystem'], 'root', - getattr(self, 'boot', None)) - self.partitions.append(self.root) if 'swap' in data: - self.swap = GPTSwapPartition(data['swap']['size'], self.root) + self.swap = GPTSwapPartition(data['swap']['size'], last_partition()) self.partitions.append(self.swap) + self.root = GPTPartition(data['root']['size'], data['root']['filesystem'], 'root', last_partition()) + self.partitions.append(self.root) super(GPTPartitionMap, self).__init__() diff --git a/base/fs/partitionmaps/mbr.py b/base/fs/partitionmaps/mbr.py index 67c40cb..8b04d12 100644 --- a/base/fs/partitionmaps/mbr.py +++ b/base/fs/partitionmaps/mbr.py @@ -8,15 +8,17 @@ class MBRPartitionMap(AbstractPartitionMap): def __init__(self, data): self.partitions = [] + + def last_partition(): + return self.partitions[-1] if len(self.partitions) > 0 else None if 'boot' in data: self.boot = MBRPartition(data['boot']['size'], data['boot']['filesystem'], None) self.partitions.append(self.boot) - self.root = MBRPartition(data['root']['size'], data['root']['filesystem'], - getattr(self, 'boot', None)) - self.partitions.append(self.root) if 'swap' in data: - self.swap = MBRSwapPartition(data['swap']['size'], self.root) + self.swap = MBRSwapPartition(data['swap']['size'], last_partition()) self.partitions.append(self.swap) + self.root = MBRPartition(data['root']['size'], data['root']['filesystem'], last_partition()) + self.partitions.append(self.root) super(MBRPartitionMap, self).__init__()