mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 05:36:47 +00:00
parted: update to parted-2.3 (for testing)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
940fc18cec
commit
c7905e394a
@ -0,0 +1,28 @@
|
|||||||
|
diff -up parted-2.1/libparted/arch/linux.c.original parted-2.1/libparted/arch/linux.c
|
||||||
|
--- parted-2.1/libparted/arch/linux.c.original 2010-07-06 15:05:19.921823935 +0900
|
||||||
|
+++ parted-2.1/libparted/arch/linux.c 2010-07-06 16:42:16.420762063 +0900
|
||||||
|
@@ -221,6 +221,14 @@ struct blkdev_ioctl_param {
|
||||||
|
#define SCSI_DISK5_MAJOR 69
|
||||||
|
#define SCSI_DISK6_MAJOR 70
|
||||||
|
#define SCSI_DISK7_MAJOR 71
|
||||||
|
+#define SCSI_DISK8_MAJOR 128
|
||||||
|
+#define SCSI_DISK9_MAJOR 129
|
||||||
|
+#define SCSI_DISK10_MAJOR 130
|
||||||
|
+#define SCSI_DISK11_MAJOR 131
|
||||||
|
+#define SCSI_DISK12_MAJOR 132
|
||||||
|
+#define SCSI_DISK13_MAJOR 133
|
||||||
|
+#define SCSI_DISK14_MAJOR 134
|
||||||
|
+#define SCSI_DISK15_MAJOR 135
|
||||||
|
#define COMPAQ_SMART2_MAJOR 72
|
||||||
|
#define COMPAQ_SMART2_MAJOR1 73
|
||||||
|
#define COMPAQ_SMART2_MAJOR2 74
|
||||||
|
@@ -259,7 +267,8 @@ struct blkdev_ioctl_param {
|
||||||
|
#define SCSI_BLK_MAJOR(M) ( \
|
||||||
|
(M) == SCSI_DISK0_MAJOR \
|
||||||
|
|| (M) == SCSI_CDROM_MAJOR \
|
||||||
|
- || ((M) >= SCSI_DISK1_MAJOR && (M) <= SCSI_DISK7_MAJOR))
|
||||||
|
+ || ((M) >= SCSI_DISK1_MAJOR && (M) <= SCSI_DISK7_MAJOR) \
|
||||||
|
+ || ((M) >= SCSI_DISK8_MAJOR && (M) <= SCSI_DISK15_MAJOR))
|
||||||
|
|
||||||
|
/* Maximum number of partitions supported by linux. */
|
||||||
|
#define MAX_NUM_PARTS 64
|
68
packages/sysutils/parted/patches/parted-2.3-lpn.diff
Normal file
68
packages/sysutils/parted/patches/parted-2.3-lpn.diff
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
From 763d9aca0fd5c79c46243774c17b562013a93418 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brian C. Lane <bcl@redhat.com>
|
||||||
|
Date: Fri, 17 Sep 2010 09:21:24 -0700
|
||||||
|
Subject: [PATCH] Handle syncing partition changes when using blkext majors (#634980)
|
||||||
|
|
||||||
|
Also remove unused _device_get_partition_range function
|
||||||
|
---
|
||||||
|
libparted/arch/linux.c | 37 ++++---------------------------------
|
||||||
|
1 files changed, 4 insertions(+), 33 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
|
||||||
|
index 38f4e31..225d06b 100644
|
||||||
|
--- a/libparted/arch/linux.c
|
||||||
|
+++ b/libparted/arch/linux.c
|
||||||
|
@@ -2391,35 +2391,6 @@ _blkpg_remove_partition (PedDisk* disk, int n)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * The number of partitions that a device can have depends on the kernel.
|
||||||
|
- * If we don't find this value in /sys/block/DEV/range, we will use our own
|
||||||
|
- * value.
|
||||||
|
- */
|
||||||
|
-static unsigned int
|
||||||
|
-_device_get_partition_range(PedDevice* dev)
|
||||||
|
-{
|
||||||
|
- int range, r;
|
||||||
|
- char path[128];
|
||||||
|
- FILE* fp;
|
||||||
|
- bool ok;
|
||||||
|
-
|
||||||
|
- r = snprintf(path, sizeof(path), "/sys/block/%s/range",
|
||||||
|
- last_component(dev->path));
|
||||||
|
- if (r < 0 || r >= sizeof(path))
|
||||||
|
- return MAX_NUM_PARTS;
|
||||||
|
-
|
||||||
|
- fp = fopen(path, "r");
|
||||||
|
- if (!fp)
|
||||||
|
- return MAX_NUM_PARTS;
|
||||||
|
-
|
||||||
|
- ok = fscanf(fp, "%d", &range) == 1;
|
||||||
|
- fclose(fp);
|
||||||
|
-
|
||||||
|
- /* (range <= 0) is none sense.*/
|
||||||
|
- return ok && range > 0 ? range : MAX_NUM_PARTS;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
* Sync the partition table in two step process:
|
||||||
|
* 1. Remove all of the partitions from the kernel's tables, but do not attempt
|
||||||
|
* removal of any partition for which the corresponding ioctl call fails.
|
||||||
|
@@ -2441,10 +2412,10 @@ _disk_sync_part_table (PedDisk* disk)
|
||||||
|
int lpn;
|
||||||
|
|
||||||
|
/* lpn = largest partition number. */
|
||||||
|
- if (ped_disk_get_max_supported_partition_count(disk, &lpn))
|
||||||
|
- lpn = PED_MIN(lpn, _device_get_partition_range(disk->dev));
|
||||||
|
- else
|
||||||
|
- lpn = _device_get_partition_range(disk->dev);
|
||||||
|
+ if (!ped_disk_get_max_supported_partition_count(disk, &lpn))
|
||||||
|
+ lpn = 256; /* HDG: not pretty but there is no other way
|
||||||
|
+ as we must make sure any removed partitions
|
||||||
|
+ actually get removed from the kernels view */
|
||||||
|
|
||||||
|
/* Its not possible to support largest_partnum < 0.
|
||||||
|
* largest_partnum == 0 would mean does not support partitions.
|
||||||
|
--
|
||||||
|
1.7.2.2
|
||||||
|
|
@ -1 +1 @@
|
|||||||
http://ftp.gnu.org/gnu/parted/parted-1.9.0.tar.gz
|
http://ftp.gnu.org/gnu/parted/parted-2.3.tar.gz
|
||||||
|
Loading…
x
Reference in New Issue
Block a user