[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 1/2] Skip diskfilter on powerpc CDs
From: |
Vladimir 'phcoder' Serbinenko |
Subject: |
Re: [PATCH v1 1/2] Skip diskfilter on powerpc CDs |
Date: |
Fri, 13 Jan 2023 22:55:51 +0100 |
This is not properly restricted to just raid. Only mdraid 1.1 is
affected. The condition should probably be along the lines "if msdos
is embedded in a device of unknown size, then skip mdraid 1.1 probing"
On Fri, Jan 13, 2023 at 9:27 PM Robbie Harwood <rharwood@redhat.com> wrote:
>
> Prior to this change, on ppc64le with part_msdos and the mdraid* modules
> enabled, we see:
>
> disk/diskfilter.c:191: scanning ieee1275/cdrom
> kern/disk.c:196: Opening `ieee1275/cdrom'...
> disk/ieee1275/ofdisk.c:477: Opening `cdrom'.
> disk/ieee1275/ofdisk.c:502: MAX_RETRIES set to 20
> kern/disk.c:288: Opening `ieee1275/cdrom' succeeded.
> disk/diskfilter.c:136: Scanning for DISKFILTER devices on disk
> ieee1275/cdrom
> partmap/msdos.c:184: partition 0: flag 0x80, type 0x96, start 0x0, len
> 0x6a5d70
> disk/diskfilter.c:136: Scanning for DISKFILTER devices on disk
> ieee1275/cdrom
> SCSI-DISK: Access beyond end of device !
> SCSI-DISK: Access beyond end of device !
> SCSI-DISK: Access beyond end of device !
> SCSI-DISK: Access beyond end of device !
> SCSI-DISK: Access beyond end of device !
> disk/ieee1275/ofdisk.c:578: MAX_RETRIES set to 20
>
> These latter two lines repeat many times, eventually ending in:
>
> kern/disk.c:388: ieee1275/cdrom read failed
> error: ../../grub-core/disk/ieee1275/ofdisk.c:608:failure reading sector
> 0x1a9720 from `ieee1275/cdrom'.
>
> and the system drops to a "grub>" prompt.
>
> The firmware and the iso image appear to diagree on the blocksize (512
> vs. 2048), and the diskfilter RAID probing is too much for it. We won't
> be seeing RAID on bootable CDs, so just turn it off.
>
> Signed-off-by: Robbie Harwood <rharwood@redhat.com>
> ---
> grub-core/disk/diskfilter.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c
> index 1c568927b8..35f45cb95e 100644
> --- a/grub-core/disk/diskfilter.c
> +++ b/grub-core/disk/diskfilter.c
> @@ -133,6 +133,11 @@ scan_disk_partition_iter (grub_disk_t disk,
> grub_partition_t p, void *data)
> struct grub_diskfilter_pv_id id;
> grub_diskfilter_t diskfilter;
>
> +#ifdef __powerpc__
> + if (!grub_strcmp (name, "ieee1275/cdrom"))
> + return 0;
> +#endif
> +
> grub_dprintf ("diskfilter", "Scanning for DISKFILTER devices on disk %s\n",
> name);
> #ifdef GRUB_UTIL
> --
> 2.39.0
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
--
Regards
Vladimir 'phcoder' Serbinenko