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