grub2/0679-disk-Rename-grub_disk_get_size-to-grub_disk_native_s.patch
Nicolas Frayer 4775d04747 fs/xfs/ppc64le: Update xfs code to fix install on 4KB block size
Resolves: #RHEL-142208
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
2026-01-22 16:33:38 +01:00

400 lines
16 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Glenn Washburn <development@efficientek.com>
Date: Tue, 8 Dec 2020 16:45:32 -0600
Subject: [PATCH] disk: Rename grub_disk_get_size() to
grub_disk_native_sectors()
The function grub_disk_get_size() is confusingly named because it actually
returns a sector count where the sectors are sized in the GRUB native sector
size. Rename to something more appropriate.
Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
grub-core/disk/diskfilter.c | 12 ++++++------
grub-core/disk/dmraid_nvidia.c | 2 +-
grub-core/disk/efi/efidisk.c | 2 +-
grub-core/disk/geli.c | 6 +++---
grub-core/disk/ldm.c | 4 ++--
grub-core/disk/luks.c | 2 +-
grub-core/disk/mdraid1x_linux.c | 2 +-
grub-core/disk/mdraid_linux.c | 2 +-
grub-core/fs/cbfs.c | 16 ++++++++--------
grub-core/fs/nilfs2.c | 2 +-
grub-core/fs/zfs/zfs.c | 4 ++--
grub-core/kern/disk.c | 2 +-
grub-core/kern/mips/arc/init.c | 2 +-
grub-core/normal/misc.c | 6 +++---
grub-core/osdep/windows/platform.c | 2 +-
include/grub/disk.h | 4 ++--
util/grub-install.c | 2 +-
util/grub-probe.c | 2 +-
18 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c
index a881aa2c9c73..1a4c4aba56f0 100644
--- a/grub-core/disk/diskfilter.c
+++ b/grub-core/disk/diskfilter.c
@@ -149,7 +149,7 @@ scan_disk_partition_iter (grub_disk_t disk, grub_partition_t p, void *data)
if (m->disk && m->disk->id == disk->id
&& m->disk->dev->id == disk->dev->id
&& m->part_start == grub_partition_get_start (disk->partition)
- && m->part_size == grub_disk_get_size (disk))
+ && m->part_size == grub_disk_native_sectors (disk))
return 0;
}
@@ -1194,13 +1194,13 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id,
grub_dprintf ("diskfilter", "Inserting %s (+%lld,%lld) into %s (%s)\n", disk->name,
(unsigned long long) grub_partition_get_start (disk->partition),
- (unsigned long long) grub_disk_get_size (disk),
+ (unsigned long long) grub_disk_native_sectors (disk),
array->name, diskfilter->name);
#ifdef GRUB_UTIL
grub_util_info ("Inserting %s (+%" GRUB_HOST_PRIuLONG_LONG ",%"
GRUB_HOST_PRIuLONG_LONG ") into %s (%s)\n", disk->name,
(unsigned long long) grub_partition_get_start (disk->partition),
- (unsigned long long) grub_disk_get_size (disk),
+ (unsigned long long) grub_disk_native_sectors (disk),
array->name, diskfilter->name);
array->driver = diskfilter;
#endif
@@ -1214,7 +1214,7 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id,
struct grub_diskfilter_lv *lv;
/* FIXME: Check whether the update time of the superblocks are
the same. */
- if (pv->disk && grub_disk_get_size (disk) >= pv->part_size)
+ if (pv->disk && grub_disk_native_sectors (disk) >= pv->part_size)
return GRUB_ERR_NONE;
pv->disk = grub_disk_open (disk->name);
if (!pv->disk)
@@ -1223,7 +1223,7 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id,
raid device, we shouldn't change it. */
pv->start_sector -= pv->part_start;
pv->part_start = grub_partition_get_start (disk->partition);
- pv->part_size = grub_disk_get_size (disk);
+ pv->part_size = grub_disk_native_sectors (disk);
#ifdef GRUB_UTIL
{
@@ -1315,7 +1315,7 @@ grub_diskfilter_get_pv_from_disk (grub_disk_t disk,
if (pv->disk && pv->disk->id == disk->id
&& pv->disk->dev->id == disk->dev->id
&& pv->part_start == grub_partition_get_start (disk->partition)
- && pv->part_size == grub_disk_get_size (disk))
+ && pv->part_size == grub_disk_native_sectors (disk))
{
if (vg_out)
*vg_out = vg;
diff --git a/grub-core/disk/dmraid_nvidia.c b/grub-core/disk/dmraid_nvidia.c
index 06027912453b..4d2fb04d1265 100644
--- a/grub-core/disk/dmraid_nvidia.c
+++ b/grub-core/disk/dmraid_nvidia.c
@@ -107,7 +107,7 @@ grub_dmraid_nv_detect (grub_disk_t disk,
/* Skip partition. */
return NULL;
- sector = grub_disk_get_size (disk);
+ sector = grub_disk_native_sectors (disk);
if (sector == GRUB_DISK_SIZE_UNKNOWN)
/* Not raid. */
return NULL;
diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
index 720a23fcca63..ea8d70a8d127 100644
--- a/grub-core/disk/efi/efidisk.c
+++ b/grub-core/disk/efi/efidisk.c
@@ -871,7 +871,7 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
if (ctx.hd->partition_start == 0
&& (ctx.hd->partition_size << (parent->log_sector_size
- GRUB_DISK_SECTOR_BITS))
- == grub_disk_get_size (parent))
+ == grub_disk_native_sectors (parent))
{
dev_name = grub_strdup (parent->name);
}
diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c
index e9d23299a538..3281b1d40482 100644
--- a/grub-core/disk/geli.c
+++ b/grub-core/disk/geli.c
@@ -258,7 +258,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
if (2 * GRUB_MD_SHA256->mdlen + 1 > GRUB_CRYPTODISK_MAX_UUID_LENGTH)
return NULL;
- sector = grub_disk_get_size (disk);
+ sector = grub_disk_native_sectors (disk);
if (sector == GRUB_DISK_SIZE_UNKNOWN || sector == 0)
return NULL;
@@ -391,7 +391,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
newdev->modname = "geli";
- newdev->total_length = grub_disk_get_size (disk) - 1;
+ newdev->total_length = grub_disk_native_sectors (disk) - 1;
grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid));
COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= 32 * 2 + 1);
return newdev;
@@ -420,7 +420,7 @@ recover_key (grub_disk_t source, grub_cryptodisk_t dev)
if (dev->hash->mdlen > GRUB_CRYPTO_MAX_MDLEN)
return grub_error (GRUB_ERR_BUG, "mdlen is too long");
- sector = grub_disk_get_size (source);
+ sector = grub_disk_native_sectors (source);
if (sector == GRUB_DISK_SIZE_UNKNOWN || sector == 0)
return grub_error (GRUB_ERR_BUG, "not a geli");
diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
index 1510fb35a765..6ba5d73af0f0 100644
--- a/grub-core/disk/ldm.c
+++ b/grub-core/disk/ldm.c
@@ -898,7 +898,7 @@ grub_ldm_detect (grub_disk_t disk,
/* LDM is never inside a partition. */
if (!has_ldm || disk->partition)
continue;
- sector = grub_disk_get_size (disk);
+ sector = grub_disk_native_sectors (disk);
if (sector == GRUB_DISK_SIZE_UNKNOWN)
continue;
sector--;
@@ -1015,7 +1015,7 @@ grub_util_is_ldm (grub_disk_t disk)
/* LDM is never inside a partition. */
if (!has_ldm || disk->partition)
continue;
- sector = grub_disk_get_size (disk);
+ sector = grub_disk_native_sectors (disk);
if (sector == GRUB_DISK_SIZE_UNKNOWN)
continue;
sector--;
diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
index 18b3a8bb1d3f..ef5130c512d2 100644
--- a/grub-core/disk/luks.c
+++ b/grub-core/disk/luks.c
@@ -300,7 +300,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
newdev->essiv_hash = essiv_hash;
newdev->hash = hash;
newdev->log_sector_size = 9;
- newdev->total_length = grub_disk_get_size (disk) - newdev->offset;
+ newdev->total_length = grub_disk_native_sectors (disk) - newdev->offset;
grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid));
newdev->modname = "luks";
COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid));
diff --git a/grub-core/disk/mdraid1x_linux.c b/grub-core/disk/mdraid1x_linux.c
index 7cc80d3df39f..2c83f99fd8ea 100644
--- a/grub-core/disk/mdraid1x_linux.c
+++ b/grub-core/disk/mdraid1x_linux.c
@@ -111,7 +111,7 @@ grub_mdraid_detect (grub_disk_t disk,
grub_uint64_t size;
grub_uint8_t minor_version;
- size = grub_disk_get_size (disk);
+ size = grub_disk_native_sectors (disk);
/* Check for an 1.x superblock.
* It's always aligned to a 4K boundary
diff --git a/grub-core/disk/mdraid_linux.c b/grub-core/disk/mdraid_linux.c
index 11024ae31e06..e40216f51117 100644
--- a/grub-core/disk/mdraid_linux.c
+++ b/grub-core/disk/mdraid_linux.c
@@ -190,7 +190,7 @@ grub_mdraid_detect (grub_disk_t disk,
struct grub_diskfilter_vg *ret;
/* The sector where the mdraid 0.90 superblock is stored, if available. */
- size = grub_disk_get_size (disk);
+ size = grub_disk_native_sectors (disk);
if (size == GRUB_DISK_SIZE_UNKNOWN)
/* not 0.9x raid. */
return NULL;
diff --git a/grub-core/fs/cbfs.c b/grub-core/fs/cbfs.c
index c82980375c83..8f02425d9b52 100644
--- a/grub-core/fs/cbfs.c
+++ b/grub-core/fs/cbfs.c
@@ -149,16 +149,16 @@ grub_cbfs_mount (grub_disk_t disk)
grub_off_t header_off;
struct cbfs_header head;
- if (grub_disk_get_size (disk) == GRUB_DISK_SIZE_UNKNOWN)
+ if (grub_disk_native_sectors (disk) == GRUB_DISK_SIZE_UNKNOWN)
goto fail;
- if (grub_disk_read (disk, grub_disk_get_size (disk) - 1,
+ if (grub_disk_read (disk, grub_disk_native_sectors (disk) - 1,
GRUB_DISK_SECTOR_SIZE - sizeof (ptr),
sizeof (ptr), &ptr))
goto fail;
ptr = grub_cpu_to_le32 (ptr);
- header_off = (grub_disk_get_size (disk) << GRUB_DISK_SECTOR_BITS)
+ header_off = (grub_disk_native_sectors (disk) << GRUB_DISK_SECTOR_BITS)
+ (grub_int32_t) ptr;
if (grub_disk_read (disk, 0, header_off,
@@ -172,16 +172,16 @@ grub_cbfs_mount (grub_disk_t disk)
if (!data)
goto fail;
- data->cbfs_start = (grub_disk_get_size (disk) << GRUB_DISK_SECTOR_BITS)
+ data->cbfs_start = (grub_disk_native_sectors (disk) << GRUB_DISK_SECTOR_BITS)
- (grub_be_to_cpu32 (head.romsize) - grub_be_to_cpu32 (head.offset));
- data->cbfs_end = (grub_disk_get_size (disk) << GRUB_DISK_SECTOR_BITS)
+ data->cbfs_end = (grub_disk_native_sectors (disk) << GRUB_DISK_SECTOR_BITS)
- grub_be_to_cpu32 (head.bootblocksize);
data->cbfs_align = grub_be_to_cpu32 (head.align);
- if (data->cbfs_start >= (grub_disk_get_size (disk) << GRUB_DISK_SECTOR_BITS))
+ if (data->cbfs_start >= (grub_disk_native_sectors (disk) << GRUB_DISK_SECTOR_BITS))
goto fail;
- if (data->cbfs_end > (grub_disk_get_size (disk) << GRUB_DISK_SECTOR_BITS))
- data->cbfs_end = (grub_disk_get_size (disk) << GRUB_DISK_SECTOR_BITS);
+ if (data->cbfs_end > (grub_disk_native_sectors (disk) << GRUB_DISK_SECTOR_BITS))
+ data->cbfs_end = (grub_disk_native_sectors (disk) << GRUB_DISK_SECTOR_BITS);
data->next_hofs = data->cbfs_start;
diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c
index 6aaa5b9390f1..fdcd23272335 100644
--- a/grub-core/fs/nilfs2.c
+++ b/grub-core/fs/nilfs2.c
@@ -772,7 +772,7 @@ grub_nilfs2_load_sb (struct grub_nilfs2_data *data)
partition_size = (grub_le_to_cpu64 (data->sblock.s_dev_size)
>> GRUB_DISK_SECTOR_BITS);
else
- partition_size = grub_disk_get_size (disk);
+ partition_size = grub_disk_native_sectors (disk);
if (partition_size != GRUB_DISK_SIZE_UNKNOWN)
{
/* Read second super block. */
diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
index de6e26fb4336..738dd5065905 100644
--- a/grub-core/fs/zfs/zfs.c
+++ b/grub-core/fs/zfs/zfs.c
@@ -1179,7 +1179,7 @@ scan_disk (grub_device_t dev, struct grub_zfs_data *data,
desc.original = original;
/* Don't check back labels on CDROM. */
- if (grub_disk_get_size (dev->disk) == GRUB_DISK_SIZE_UNKNOWN)
+ if (grub_disk_native_sectors (dev->disk) == GRUB_DISK_SIZE_UNKNOWN)
vdevnum = VDEV_LABELS / 2;
for (label = 0; ubbest == NULL && label < vdevnum; label++)
@@ -1188,7 +1188,7 @@ scan_disk (grub_device_t dev, struct grub_zfs_data *data,
= label * (sizeof (vdev_label_t) >> SPA_MINBLOCKSHIFT)
+ ((VDEV_SKIP_SIZE + VDEV_BOOT_HEADER_SIZE) >> SPA_MINBLOCKSHIFT)
+ (label < VDEV_LABELS / 2 ? 0 :
- ALIGN_DOWN (grub_disk_get_size (dev->disk), sizeof (vdev_label_t))
+ ALIGN_DOWN (grub_disk_native_sectors (dev->disk), sizeof (vdev_label_t))
- VDEV_LABELS * (sizeof (vdev_label_t) >> SPA_MINBLOCKSHIFT));
/* Read in the uberblock ring (128K). */
diff --git a/grub-core/kern/disk.c b/grub-core/kern/disk.c
index 62d6a85cc28c..e26b61f69b8a 100644
--- a/grub-core/kern/disk.c
+++ b/grub-core/kern/disk.c
@@ -550,7 +550,7 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
}
grub_uint64_t
-grub_disk_get_size (grub_disk_t disk)
+grub_disk_native_sectors (grub_disk_t disk)
{
if (disk->partition)
return grub_partition_get_len (disk->partition);
diff --git a/grub-core/kern/mips/arc/init.c b/grub-core/kern/mips/arc/init.c
index 86b3a25ec403..5c40c34078d5 100644
--- a/grub-core/kern/mips/arc/init.c
+++ b/grub-core/kern/mips/arc/init.c
@@ -430,7 +430,7 @@ grub_machine_get_bootlocation (char **device, char **path)
}
if (poff == 0
- && pend == grub_disk_get_size (parent))
+ && pend == grub_disk_native_sectors (parent))
{
grub_disk_close (parent);
*device = dname;
diff --git a/grub-core/normal/misc.c b/grub-core/normal/misc.c
index 38f91b9b9837..ae63d1ebacc3 100644
--- a/grub-core/normal/misc.c
+++ b/grub-core/normal/misc.c
@@ -176,14 +176,14 @@ grub_normal_print_device_info (const char *name)
(grub_partition_get_start (dev->disk->partition) & 1) ? ".5" : "" );
else
grub_printf_ (N_(" - Sector size %uB"), 1 << dev->disk->log_sector_size);
- if (grub_disk_get_size (dev->disk) == GRUB_DISK_SIZE_UNKNOWN)
+ if (grub_disk_native_sectors (dev->disk) == GRUB_DISK_SIZE_UNKNOWN)
grub_puts_ (N_(" - Total size unknown"));
else
grub_printf (_(" - Total size %llu%sKiB"),
- (unsigned long long) (grub_disk_get_size (dev->disk) >> 1),
+ (unsigned long long) (grub_disk_native_sectors (dev->disk) >> 1),
/* TRANSLATORS: Replace dot with appropriate decimal separator for
your language. */
- (grub_disk_get_size (dev->disk) & 1) ? _(".5") : "");
+ (grub_disk_native_sectors (dev->disk) & 1) ? _(".5") : "");
}
if (dev)
diff --git a/grub-core/osdep/windows/platform.c b/grub-core/osdep/windows/platform.c
index 04e0eda9aeb9..0cb9d1b7d007 100644
--- a/grub-core/osdep/windows/platform.c
+++ b/grub-core/osdep/windows/platform.c
@@ -371,7 +371,7 @@ grub_install_register_efi (grub_device_t efidir_grub_dev,
hddp->partition_start = grub_partition_get_start (efidir_grub_dev->disk->partition)
>> (efidir_grub_dev->disk->log_sector_size - GRUB_DISK_SECTOR_BITS);
- hddp->partition_size = grub_disk_get_size (efidir_grub_dev->disk)
+ hddp->partition_size = grub_disk_native_sectors (efidir_grub_dev->disk)
>> (efidir_grub_dev->disk->log_sector_size - GRUB_DISK_SECTOR_BITS);
pathptr = hddp + 1;
diff --git a/include/grub/disk.h b/include/grub/disk.h
index b385af826fc4..0e0c4f430497 100644
--- a/include/grub/disk.h
+++ b/include/grub/disk.h
@@ -170,7 +170,7 @@ typedef struct grub_disk_memberlist *grub_disk_memberlist_t;
#define GRUB_DISK_MAX_MAX_AGGLOMERATE ((1 << (30 - GRUB_DISK_CACHE_BITS - GRUB_DISK_SECTOR_BITS)) - 1)
-/* Return value of grub_disk_get_size() in case disk size is unknown. */
+/* Return value of grub_disk_native_sectors() in case disk size is unknown. */
#define GRUB_DISK_SIZE_UNKNOWN 0xffffffffffffffffULL
/* This is called from the memory manager. */
@@ -211,7 +211,7 @@ extern grub_err_t (*EXPORT_VAR(grub_disk_write_weak)) (grub_disk_t disk,
const void *buf);
-grub_uint64_t EXPORT_FUNC(grub_disk_get_size) (grub_disk_t disk);
+grub_uint64_t EXPORT_FUNC(grub_disk_native_sectors) (grub_disk_t disk);
#if DISK_CACHE_STATS
void
diff --git a/util/grub-install.c b/util/grub-install.c
index 65bb2f99ef1f..eb49a36c5fba 100644
--- a/util/grub-install.c
+++ b/util/grub-install.c
@@ -737,7 +737,7 @@ is_prep_empty (grub_device_t dev)
grub_disk_addr_t dsize, addr;
grub_uint32_t buffer[32768];
- dsize = grub_disk_get_size (dev->disk);
+ dsize = grub_disk_native_sectors (dev->disk);
for (addr = 0; addr < dsize;
addr += sizeof (buffer) / GRUB_DISK_SECTOR_SIZE)
{
diff --git a/util/grub-probe.c b/util/grub-probe.c
index 2a8c2cdffd50..e2e45e16a15e 100644
--- a/util/grub-probe.c
+++ b/util/grub-probe.c
@@ -398,7 +398,7 @@ probe (const char *path, char **device_names, char delim)
if (! dev || !dev->disk)
grub_util_error ("%s", grub_errmsg);
- dsize = grub_disk_get_size (dev->disk);
+ dsize = grub_disk_native_sectors (dev->disk);
for (addr = 0; addr < dsize;
addr += sizeof (buffer) / GRUB_DISK_SECTOR_SIZE)
{