parted/0109-libparted-don-t-create-partition-on-loop-label.patch
Brian C. Lane 73aa139585 - Rebase on parted master commit 1da239e2ebd2
- libparted: Fix bug with dupe and empty name
2014-06-13 09:52:56 -07:00

46 lines
1.6 KiB
Diff

From 7feb3b452c5ae57e75e16f8c00f46c9aa564a4cc Mon Sep 17 00:00:00 2001
From: Phillip Susi <psusi@ubuntu.com>
Date: Sun, 27 Apr 2014 11:15:47 -0400
Subject: [PATCH 109/131] 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)
--
1.9.3