partitionedfs: make the interface a bit saner
authorArtem Bityutskiy <artem.bityutskiy@intel.com>
Fri, 4 Jan 2013 13:41:08 +0000 (15:41 +0200)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Thu, 10 Jan 2013 12:13:17 +0000 (14:13 +0200)
We have 'add_partition()' call to add one partion, but we have 'add_disks()'
method to add all disks at once. This is inconsistent and makes the code more
difficult to understand. Fix this by changind 'add_disks()' into 'add_disk()'
which adds a single disk. This makes things look a lot nicer.

Change-Id: I8a4f4249b1f8fa02486d4cbb3fbc4226ca2e65b8
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
mic/imager/liveusb.py
mic/imager/raw.py
mic/utils/partitionedfs.py
plugins/imager/liveusb_plugin.py
plugins/imager/raw_plugin.py

index fbfb5ab..dcbf2bf 100644 (file)
@@ -71,7 +71,7 @@ class LiveUSBImageCreator(LiveCDImageCreator):
                                              usbimgsize)
         usbmnt = self._mkdtemp("usb-mnt")
         usbloop = PartitionedMount(usbmnt)
-        usbloop.add_disks({'/dev/sdb':disk})
+        usbloop.add_disk('/dev/sdb', disk)
 
         usbloop.add_partition(usbimgsize/1024/1024,
                               "/dev/sdb",
index 5a8c7ef..217544d 100644 (file)
@@ -203,8 +203,7 @@ class RawImageCreator(BaseImageCreator):
             disk_obj = fs_related.SparseLoopbackDisk(full_path,
                                                      disk['min_size'])
             self.__disks[disk_name] = disk_obj
-
-        self.__instloop.add_disks(self.__disks)
+            self.__instloop.add_disk(disk_name, disk_obj)
 
         self.__instloop.mount()
         self._create_mkinitrd_config()
index ed94760..2bb2e4c 100644 (file)
@@ -75,12 +75,13 @@ class PartitionedMount(Mount):
                   # Minimum required disk size to fit all partitions (in bytes)
                   'min_size': 0 }
 
-    def add_disks(self, disks):
-        """ Add the disks which have to be partitioned. """
+    def add_disk(self, disk_name, disk_obj):
+        """ Add a disk object which have to be partitioned. More than one disk
+        can be added. In case of multiple disks, disk partitions have to be
+        added for each disk separately with 'add_partition()". """
 
-        for name in disks.keys():
-            self.__add_disk(name)
-            self.disks[name]['disk'] = disks[name]
+        self.__add_disk(disk_name)
+        self.disks[disk_name]['disk'] = disk_obj
 
     def __add_partition(self, part):
         """ This is a helper function for 'add_partition()' which adds a
index 91d281c..73afa47 100644 (file)
@@ -216,7 +216,7 @@ class LiveUSBPlugin(ImagerPlugin):
         imgmnt = misc.mkdtemp()
         disk = fs_related.SparseLoopbackDisk(img, imgsize)
         imgloop = PartitionedMount(imgmnt, skipformat = True)
-        imgloop.add_disks({'/dev/sdb':disk})
+        imgloop.add_disk('/dev/sdb', disk)
         imgloop.add_partition(imgsize/1024/1024, "/dev/sdb", "/", "vfat", boot=False)
         try:
             imgloop.mount()
index 8b7a3e5..c22e4ea 100644 (file)
@@ -136,7 +136,7 @@ class RawPlugin(ImagerPlugin):
         disk = fs_related.SparseLoopbackDisk(img, imgsize)
         imgmnt = misc.mkdtemp()
         imgloop = PartitionedMount(imgmnt, skipformat = True)
-        imgloop.add_disks({'/dev/sdb':disk})
+        imgloop.add_disk('/dev/sdb', disk)
         img_fstype = "ext3"
 
         msger.info("Partition Table:")
@@ -246,7 +246,7 @@ class RawPlugin(ImagerPlugin):
         disk = fs_related.SparseLoopbackDisk(srcimg, srcimgsize)
         srcloop = PartitionedMount(srcmnt, skipformat = True)
 
-        srcloop.add_disks({'/dev/sdb':disk})
+        srcloop.add_disk('/dev/sdb', disk)
         srcloop.add_partition(srcimgsize/1024/1024, "/dev/sdb", "/", "ext3", boot=False)
         try:
             srcloop.mount()