aboutsummaryrefslogtreecommitdiffstats
path: root/packages/util-linux
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-01-12 17:06:55 +0100
committerFelix Domke <tmbinc@elitedvb.net>2009-01-12 17:06:55 +0100
commit6b005d0274bc4b86214a7e91b708f5c46aedf43a (patch)
tree9bbf33140be50f961aae2e29e2a9632d81ac7201 /packages/util-linux
parent3ff946e5b85f0ef2673aa1e69e83e3bc9951df46 (diff)
downloadopenembedded-6b005d0274bc4b86214a7e91b708f5c46aedf43a.tar.gz
util-linux: fix support for >2**32 sectors in sfdisk
Diffstat (limited to 'packages/util-linux')
-rw-r--r--packages/util-linux/files/sfdisk-fix-large-drives.patch30
-rw-r--r--packages/util-linux/util-linux_2.12r.bb3
2 files changed, 32 insertions, 1 deletions
diff --git a/packages/util-linux/files/sfdisk-fix-large-drives.patch b/packages/util-linux/files/sfdisk-fix-large-drives.patch
new file mode 100644
index 0000000000..5649c539b8
--- /dev/null
+++ b/packages/util-linux/files/sfdisk-fix-large-drives.patch
@@ -0,0 +1,30 @@
+Index: util-linux-2.12r/fdisk/sfdisk.c
+===================================================================
+--- util-linux-2.12r.orig/fdisk/sfdisk.c 2009-01-12 17:00:24.000000000 +0100
++++ util-linux-2.12r/fdisk/sfdisk.c 2009-01-12 17:04:27.000000000 +0100
+@@ -1951,6 +1951,7 @@
+ delta = 0;
+
+ if (delta < 0) {
++#if 0 /*@@@@@*/
+ p->start -= delta;
+ p->size += delta;
+ if (is_extended(p->p.sys_type) && boxes == ONESECTOR)
+@@ -1959,6 +1960,17 @@
+ warn(_("no room for partition descriptor\n"));
+ return 0;
+ }
++#else
++ unsigned long old_size = p->size;
++ p->start -= delta;
++ p->size += delta;
++ if (is_extended(p->p.sys_type) && boxes == ONESECTOR)
++ p->size = inc;
++ else if ( old_size <= -delta ) {
++ warn(_("no room for partition descriptor\n"));
++ return 0;
++ }
++#endif
+ }
+ base = (!ep ? 0
+ : (is_extended(p->p.sys_type) ?
diff --git a/packages/util-linux/util-linux_2.12r.bb b/packages/util-linux/util-linux_2.12r.bb
index 179ea63cdb..ab6f2aa657 100644
--- a/packages/util-linux/util-linux_2.12r.bb
+++ b/packages/util-linux/util-linux_2.12r.bb
@@ -5,5 +5,6 @@ SRC_URI += "file://glibc-fix.patch;patch=1"
SRC_URI += "file://glibc-umount2.patch;patch=1"
SRC_URI += "file://fdiskbsdlabel-avr32.patch;patch=1"
SRC_URI += "file://util-linux-2.12r-cramfs-1.patch;patch=1"
+SRC_URI += "file://sfdisk-fix-large-drives.patch;patch=1"
-FILE_PR = "r15"
+FILE_PR = "r16"