[parted-devel] [PATCH 2/5] Remove has_partitions check to allow loopback partitions

Phillip Susi phillsusi at gmail.com
Tue Jan 3 01:12:39 UTC 2012


Commit 1b766b69 added the _has_partitions function to check if a device
was a loop device and if so, skip updating the kernel partition table
because loop devices did not support partitions.  This function never
worked anyway, and loop devices now ( since linux 3.0 ) support partitions,
so remove this crufty code.

Signed-off-by: Phillip Susi <psusi at cfl.rr.com>
---
 libparted/arch/linux.c |   24 ------------------------
 1 files changed, 0 insertions(+), 24 deletions(-)

diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 8b3cc0b..dbe8a7b 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2313,18 +2313,6 @@ _partition_is_mounted (const PedPartition *part)
 	return !!status;
 }
 
-static int _GL_ATTRIBUTE_PURE
-_has_partitions (const PedDisk* disk)
-{
-        PED_ASSERT(disk != NULL);
-
-        /* Some devices can't be partitioned. */
-        if (!strcmp (disk->type->name, "loop"))
-                return 0;
-
-        return 1;
-}
-
 static int
 linux_partition_is_busy (const PedPartition* part)
 {
@@ -2367,9 +2355,6 @@ _blkpg_add_partition (PedDisk* disk, const PedPartition *part)
         PED_ASSERT(disk != NULL);
         PED_ASSERT(disk->dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0);
 
-        if (!_has_partitions (disk))
-                return 0;
-
         if (ped_disk_type_check_feature (disk->type,
                                          PED_DISK_TYPE_PARTITION_NAME))
                 vol_name = ped_partition_get_name (part);
@@ -2418,9 +2403,6 @@ _blkpg_remove_partition (PedDisk* disk, int n)
 {
         struct blkpg_partition  linux_part;
 
-        if (!_has_partitions (disk))
-                return 0;
-
         memset (&linux_part, 0, sizeof (linux_part));
         linux_part.pno = n;
         return _blkpg_part_command (disk->dev, &linux_part,
@@ -2742,9 +2724,6 @@ _dm_add_partition (PedDisk* disk, PedPartition* part)
         char*           params = NULL;
         LinuxSpecific*  arch_specific = LINUX_SPECIFIC (disk->dev);
 
-        if (!_has_partitions(disk))
-                return 0;
-
         /* Get map name from devicemapper */
         struct dm_task *task = dm_task_create (DM_DEVICE_INFO);
         if (!task)
@@ -2845,9 +2824,6 @@ _have_blkpg ()
 static int
 linux_disk_commit (PedDisk* disk)
 {
-        if (!_has_partitions (disk))
-                return 1;
-
 #ifdef ENABLE_DEVICE_MAPPER
         if (disk->dev->type == PED_DEVICE_DM)
                 return _dm_reread_part_table (disk);
-- 
1.7.5.4




More information about the parted-devel mailing list