grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Linux I2O devices


From: Robert Millan
Subject: Re: [PATCH] Linux I2O devices
Date: Sun, 17 Sep 2006 23:25:58 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

I overlooked that biosdisk.c seems to be doing more specific checks on the
pathname now.

  if (have_devfs () && strcmp (real_dev + len - 5, "/disc") == 0)
    {
      p = real_dev + len - 4;
      format = "part%d";
    }
  else if ((strncmp (real_dev + 5, "hd", 2) == 0
            || strncmp (real_dev + 5, "sd", 2) == 0)
           && real_dev[7] >= 'a' && real_dev[7] <= 'z')
    {
      p = real_dev + 8;
      format = "%d";
    }
  else if (strncmp (real_dev + 5, "rd/c", 4) == 0)
    {
      p = strchr (real_dev + 9, 'd');
      if (! p)
        return 0;

      p++;
      while (*p && isdigit (*p))
        p++;

      format = "p%d";
    }
  else
    {
      free (real_dev);
      return 0;
    }

For I2O we have /dev/i2o/hd[a-z][0-9].  There's also a big family of device
sets using this scheme (/dev/*/hd[a-z][0-9]).  Unless the second "if" can be
made the default option, we'll have to add knowledge of every of these device
paths here?

On Sun, Sep 17, 2006 at 11:08:23PM +0200, Robert Millan wrote:
> 
> Support for Linux I2O devices (imported from GRUB Legacy).
> 
> 2006-09-17  Robert Millan  <address@hidden>
> 
>       Import from GRUB Legacy (lib/device.c):
>       * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
>       (init_device_map) [__linux__]: Add support for I2O devices.
> 
> -- 
> Robert Millan
> 
> My spam trap is address@hidden  Note: this address is only intended for
> spam harvesters.  Writing to it will get you added to my black list.

> 2006-09-17  Robert Millan  <address@hidden>
> 
>       Import from GRUB Legacy (lib/device.c):
>       * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
>       (init_device_map) [__linux__]: Add support for I2O devices.
> 
> Index: util/i386/pc/grub-mkdevicemap.c
> ===================================================================
> RCS file: /sources/grub/grub2/util/i386/pc/grub-mkdevicemap.c,v
> retrieving revision 1.3
> diff -u -r1.3 grub-mkdevicemap.c
> --- util/i386/pc/grub-mkdevicemap.c   14 Sep 2006 18:52:50 -0000      1.3
> +++ util/i386/pc/grub-mkdevicemap.c   17 Sep 2006 21:06:27 -0000
> @@ -277,6 +277,12 @@
>  {
>    sprintf (name, "/dev/ataraid/d%c", unit + '0');
>  }
> +
> +static void
> +get_i2o_disk_name (char *name, char unit)
> +{
> +  sprintf (name, "/dev/i2o/hd%c", unit);
> +}
>  #endif
>  
>  /* Check if DEVICE can be read. If an error occurs, return zero,
> @@ -482,6 +488,23 @@
>         }
>        }
>    }
> +    
> +  /* This is for I2O - we have /dev/i2o/hd<logical drive><partition> */
> +  {
> +    char unit;
> +
> +    for (unit = 'a'; unit < 'f'; unit++)
> +      {
> +     char name[24];
> +    
> +     get_i2o_disk_name (name, unit);
> +     if (check_device (name))
> +       {
> +         fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
> +         num_hd++;
> +       }
> +      }
> +  }
>  #endif /* __linux__ */
>  
>   finish:

> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel


-- 
Robert Millan

My spam trap is address@hidden  Note: this address is only intended for
spam harvesters.  Writing to it will get you added to my black list.




reply via email to

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