grub-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]