]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2011-08-10 Robert Millan <rmh@gnu.org>
authorRobert Millan <rmh@gnu.org>
Wed, 10 Aug 2011 20:24:02 +0000 (22:24 +0200)
committerRobert Millan <rmh@gnu.org>
Wed, 10 Aug 2011 20:24:02 +0000 (22:24 +0200)
        Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.

        * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
        function.
        [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
        (/dev/mfid[0-9]+) devices using get_mfi_disk_name().

ChangeLog
util/deviceiter.c

index 184b0d763883d85ac9120c33088ff803b6d9d68a..03962176834b37a2a8c52b7691447f880b41ed06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-08-10  Robert Millan  <rmh@gnu.org>
+
+       Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
+
+       * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
+       function.
+       [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
+       (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
+
 2011-08-03  Robert Millan  <rmh@gnu.org>
 
        * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
index 2a8acec0edd60cfe722af6bc61013b83f8f42e48..208dcfdde104997b25e8ce1b63642d9691e18fa6 100644 (file)
@@ -298,6 +298,12 @@ get_ataraid_disk_name (char *name, int unit)
 {
   sprintf (name, "/dev/ar%d", unit);
 }
+
+static void
+get_mfi_disk_name (char *name, int unit)
+{
+  sprintf (name, "/dev/mfid%d", unit);
+}
 #endif
 
 #ifdef __linux__
@@ -661,6 +667,19 @@ grub_util_iterate_devices (int NESTED_FUNC_ATTR (*hook) (const char *, int),
            goto out;
         }
     }
+
+  /* LSI MegaRAID SAS.  */
+  for (i = 0; i < 32; i++)
+    {
+      char name[20];
+
+      get_mfi_disk_name (name, i);
+      if (check_device_readable_unique (name))
+       {
+         if (hook (name, 0))
+           goto out;
+        }
+    }
 #endif
 
 #ifdef __linux__