[parted/f14/master] Add patch to remember the UUID when adding partitions (#639138)

Brian C. Lane bcl at fedoraproject.org
Wed Oct 6 17:23:40 UTC 2010


commit c8c4e072fed87fd574a125d0010f2a272408a8c7
Author: Brian C. Lane <bcl at redhat.com>
Date:   Wed Oct 6 10:23:32 2010 -0700

    Add patch to remember the UUID when adding partitions (#639138)

 parted-2.3-add-part-uuid.patch |   51 ++++++++++++++++++++++++++++++++++++++++
 parted.spec                    |    5 +++-
 2 files changed, 55 insertions(+), 1 deletions(-)
---
diff --git a/parted-2.3-add-part-uuid.patch b/parted-2.3-add-part-uuid.patch
new file mode 100644
index 0000000..6b658aa
--- /dev/null
+++ b/parted-2.3-add-part-uuid.patch
@@ -0,0 +1,51 @@
+diff -up ./libparted/arch/linux.c.dmpart ./libparted/arch/linux.c
+--- ./libparted/arch/linux.c.dmpart     2010-09-30 16:20:18.000000000 -0500
++++ ./libparted/arch/linux.c    2010-09-30 16:43:04.000000000 -0500
+@@ -2670,6 +2670,8 @@ _dm_add_partition (PedDisk* disk, PedPar
+ {
+         char*           vol_name = NULL;
+         const char*     dev_name = NULL;
++        char*           vol_uuid = NULL;
++        const char*     dev_uuid = NULL;
+         char*           params = NULL;
+         LinuxSpecific*  arch_specific = LINUX_SPECIFIC (disk->dev);
+ 
+@@ -2689,10 +2691,14 @@ _dm_add_partition (PedDisk* disk, PedPar
+                 goto err;
+ 
+         dev_name = dm_task_get_name (task);
++        dev_uuid = dm_task_get_uuid (task);
+ 
+         if (asprintf (&vol_name, "%sp%d", dev_name, part->num) == -1)
+                 goto err;
+ 
++        if (asprintf (&vol_uuid, "%sp%d", dev_uuid, part->num) == -1)
++                goto err;
++
+         /* Caution: dm_task_destroy frees dev_name.  */
+         dm_task_destroy (task);
+         task = NULL;
+@@ -2706,6 +2712,7 @@ _dm_add_partition (PedDisk* disk, PedPar
+                 goto err;
+ 
+         dm_task_set_name (task, vol_name);
++        dm_task_set_uuid (task, vol_uuid);
+         dm_task_add_target (task, 0, part->geom.length,
+                 "linear", params);
+         if (dm_task_run (task)) {
+@@ -2714,6 +2721,7 @@ _dm_add_partition (PedDisk* disk, PedPar
+                 dm_task_destroy(task);
+                 free(params);
+                 free(vol_name);
++                free(vol_uuid);
+                 return 1;
+         } else {
+                 _dm_remove_map_name(vol_name);
+@@ -2724,6 +2732,7 @@ err:
+                 dm_task_destroy (task);
+         free (params);
+         free (vol_name);
++        free (vol_uuid);
+         return 0;
+ }
+
diff --git a/parted.spec b/parted.spec
index 7d9226e..6fd4db2 100644
--- a/parted.spec
+++ b/parted.spec
@@ -4,7 +4,7 @@
 Summary: The GNU disk partition manipulation program
 Name:    parted
 Version: 2.3
-Release: 2%{?dist}.2
+Release: 3%{?dist}
 License: GPLv3+
 Group:   Applications/System
 URL:     http://www.gnu.org/software/parted
@@ -137,6 +137,9 @@ fi
 
 
 %changelog
+* Wed Oct 06 2010 Brian C. Lane <bcl at redhat.com> 2.3-3
+- Add patch to remember the UUID when adding partitions (#639138)
+
 * Tue Oct 05 2010 jkeating - 2.3-2.2
 - Rebuilt for gcc bug 634757
 


More information about the scm-commits mailing list