Blob Blame Raw
From 790ea9881cf13902e966034fdde12850d7b5085b Mon Sep 17 00:00:00 2001
From: Fedora Ninjas <grub2-owner@fedoraproject.org>
Date: Fri, 5 Apr 2013 14:55:37 +0200
Subject: [PATCH 266/364] 	* util/grub.d/30_os-prober.in: Support btrrfs
 linux-prober extensions.

---
 ChangeLog                   |  4 ++++
 util/grub.d/30_os-prober.in | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 2f2f7a3..954d85f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-04-05  Fedora Ninjas <grub2-owner@fedoraproject.org>
+
+	* util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
+
 2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
 
 	Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
index bf47dc3..e20d8b3 100644
--- a/util/grub.d/30_os-prober.in
+++ b/util/grub.d/30_os-prober.in
@@ -112,6 +112,11 @@ for OS in ${OSPROBED} ; do
   LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
   LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
   BOOT="`echo ${OS} | cut -d ':' -f 4`"
+  BTRFS="`echo ${OS} | cut -d ':' -f 5`"
+  if [ "x$BTRFS" = "xbtrfs" ]; then
+	BTRFSuuid="`echo ${OS} | cut -d ':' -f 6`"
+	BTRFSsubvol="`echo ${OS} | cut -d ':' -f 7`"
+  fi
 
   if [ -z "${LONGNAME}" ] ; then
     LONGNAME="${LABEL}"
@@ -145,7 +150,11 @@ EOF
 EOF
     ;;
     linux)
-      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
+      if [ "x$BTRFS" = "xbtrfs" ]; then
+         LINUXPROBED="`linux-boot-prober btrfs ${BTRFSuuid} ${BTRFSsubvol}  2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
+      else
+         LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
+      fi
       prepare_boot_cache=
       boot_device_id=
       is_first_entry=true
-- 
1.8.1.4