6bbd3cae55
Add upstream patch OBS-URL: https://build.opensuse.org/request/show/390212 OBS-URL: https://build.opensuse.org/package/show/Base:System/udisks2?expand=0&rev=52
46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
From 5c859c99dfcd362599eb497760231e7aa816c070 Mon Sep 17 00:00:00 2001
|
|
From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
|
|
Date: Mon, 4 Apr 2016 11:35:03 +0200
|
|
Subject: Reread partition table before wiping when creating new partitions
|
|
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=85477
|
|
https://bugs.debian.org/767457
|
|
https://launchpad.net/bugs/1460602
|
|
|
|
diff --git a/src/udiskslinuxpartitiontable.c b/src/udiskslinuxpartitiontable.c
|
|
index 2692b31..7870ca8 100644
|
|
--- a/src/udiskslinuxpartitiontable.c
|
|
+++ b/src/udiskslinuxpartitiontable.c
|
|
@@ -343,6 +343,7 @@ handle_create_partition (UDisksPartitionTable *table,
|
|
uid_t caller_uid;
|
|
gid_t caller_gid;
|
|
gboolean do_wipe = TRUE;
|
|
+ gboolean was_partitioned = FALSE;
|
|
GError *error;
|
|
|
|
error = NULL;
|
|
@@ -589,6 +590,10 @@ handle_create_partition (UDisksPartitionTable *table,
|
|
/* this is sometimes needed because parted(8) does not generate the uevent itself */
|
|
udisks_linux_block_object_trigger_uevent (UDISKS_LINUX_BLOCK_OBJECT (object));
|
|
|
|
+ was_partitioned = (udisks_object_peek_partition_table (object) != NULL);
|
|
+ if (was_partitioned)
|
|
+ udisks_linux_block_object_reread_partition_table (UDISKS_LINUX_BLOCK_OBJECT (object));
|
|
+
|
|
/* sit and wait for the partition to show up */
|
|
g_warn_if_fail (wait_data->pos_to_wait_for > 0);
|
|
wait_data->partition_table_object = object;
|
|
@@ -644,6 +649,8 @@ handle_create_partition (UDisksPartitionTable *table,
|
|
/* this is sometimes needed because parted(8) does not generate the uevent itself */
|
|
udisks_linux_block_object_trigger_uevent (UDISKS_LINUX_BLOCK_OBJECT (partition_object));
|
|
|
|
+ if (was_partitioned)
|
|
+ udisks_linux_block_object_reread_partition_table (UDISKS_LINUX_BLOCK_OBJECT (object));
|
|
|
|
udisks_partition_table_complete_create_partition (table,
|
|
invocation,
|
|
--
|
|
cgit v0.10.2
|
|
|
|
|