From 7feb3b452c5ae57e75e16f8c00f46c9aa564a4cc Mon Sep 17 00:00:00 2001 From: Phillip Susi Date: Sun, 27 Apr 2014 11:15:47 -0400 Subject: libparted: don't create partition on loop label The loop label represents an unpartitioned disk, but creates a dummy partition to represent the whole disk. This dummy partition was actually being loaded into the kernel. Don't do that. --- NEWS | 4 ++++ libparted/arch/linux.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/NEWS b/NEWS index 8ec11ab..7d7edd8 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,10 @@ GNU parted NEWS -*- outline -*- ** Bug Fixes + libparted: The loop label represents an unpartitioned disk, but creates + a dummy partition to represent the whole disk. This dummy partition + was actually being loaded into the kernel. Don't do that. + libparted: fix loop labels to not vanish if you don't create a filesystem, and to not return an error syncing when you do. diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c index 4cbe49b..9ae6d64 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c @@ -2883,6 +2883,9 @@ _disk_sync_part_table (PedDisk* disk) lpn = PED_MIN(lpn, part_range); else lpn = part_range; + /* don't actually add partitions for loop */ + if (strcmp (disk->type->name, "loop") == 0) + lpn = 0; for (i = 1; i <= lpn; i++) { PedPartition *part = ped_disk_get_partition (disk, i); if (!part) -- cgit v1.2.1