[Parted-maintainers] Bug#592679: fixed in ubuntu

martin f krafft madduck at debian.org
Thu Aug 19 05:52:48 UTC 2010


retitle 592679 loop-partition-table-imposed (32bit) exceeded by >2Tb drives
severity 592679 serious
tags 592679 patch
thanks

This bug is fixed in Ubuntu. The patch is attached.

I've worked around this issue by creating the RAID device and the
LVs by hand. I did get to see the error a few times, but the system
was still installed properly.

-- 
 .''`.   martin f. krafft <madduck at d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems
-------------- next part --------------
Description: Remove limits on loop labels
 There's no reason to impose any particular limit on loop labels, since they
 just represent a single large partition.  Sector counts over 2^32 are
 needed for large RAID arrays.
Author: Colin Watson <cjwatson at ubuntu.com>
Bug-Ubuntu: https://bugs.launchpad.net/bugs/543838
Forwarded: no
Last-Update: 2010-04-09

Index: b/libparted/labels/pt-limit.gperf
===================================================================
--- a/libparted/labels/pt-limit.gperf
+++ b/libparted/labels/pt-limit.gperf
@@ -19,7 +19,7 @@
 #
 bsd,UINT32_MAX,UINT32_MAX
 # aix,UINT32_MAX,UINT32_MAX
-loop,UINT32_MAX,UINT32_MAX
+# loop,UINT64_MAX,UINT64_MAX
 pc98,UINT32_MAX,UINT32_MAX
 #
 # FIXME: not verified.  looks like these are cylinder aligned, too
Index: b/libparted/labels/pt-limit.c
===================================================================
--- a/libparted/labels/pt-limit.c
+++ b/libparted/labels/pt-limit.c
@@ -36,12 +36,12 @@
   uint64_t max_length;
 };
 
-#define TOTAL_KEYWORDS 10
+#define TOTAL_KEYWORDS 9
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 5
 #define MIN_HASH_VALUE 0
-#define MAX_HASH_VALUE 45
-/* maximum key range = 46, duplicates = 0 */
+#define MAX_HASH_VALUE 40
+/* maximum key range = 41, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -55,32 +55,32 @@
 {
   static const unsigned char asso_values[] =
     {
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 10,  5, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46,  0, 30, 30,
-      10, 46, 46,  5, 10, 15, 46, 46,  5,  5,
-       0,  0,  0, 46, 46,  0,  5,  0, 10, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
-      46, 46, 46, 46, 46, 46
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 10, 10, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41,  5, 30, 20,
+       5, 41, 41,  5, 10,  0, 41, 41, 41,  5,
+       0,  0,  0, 41, 41,  0,  0,  0, 10, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
+      41, 41, 41, 41, 41, 41
     };
   register int hval = 0;
 
@@ -120,9 +120,6 @@
 #line 18 "pt-limit.gperf"
       {"sun",128ULL*UINT32_MAX,UINT32_MAX},
       {""}, {""}, {""}, {""},
-#line 22 "pt-limit.gperf"
-      {"loop",UINT32_MAX,UINT32_MAX},
-      {""}, {""}, {""}, {""},
 #line 10 "pt-limit.gperf"
       {"gpt",UINT64_MAX,UINT64_MAX},
       {""}, {""}, {""}, {""},
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature (see http://martin-krafft.net/gpg/)
URL: <http://lists.alioth.debian.org/pipermail/parted-maintainers/attachments/20100819/1a551626/attachment.pgp>


More information about the Parted-maintainers mailing list