18971c
From 4350c73199b3d2ac1e22b5e2e093de12ca5ad598 Mon Sep 17 00:00:00 2001
18971c
From: Harald Hoyer <harald@redhat.com>
18971c
Date: Thu, 2 Jul 2015 15:21:35 +0200
18971c
Subject: [PATCH] nfs/nfs-lib.sh: add anaconda_nfsv6_to_var()
18971c
18971c
add "nfs:[[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]]/path" style parsing
18971c
18971c
https://bugzilla.redhat.com/show_bug.cgi?id=1190098
18971c
(cherry picked from commit ba665de454e7d6ef1da4ba95308fb9f65c7a9497)
18971c
---
18971c
 modules.d/95nfs/nfs-lib.sh | 18 ++++++++++++++++++
18971c
 1 file changed, 18 insertions(+)
18971c
18971c
diff --git a/modules.d/95nfs/nfs-lib.sh b/modules.d/95nfs/nfs-lib.sh
18971c
index bf7d044b..4f24f698 100755
18971c
--- a/modules.d/95nfs/nfs-lib.sh
18971c
+++ b/modules.d/95nfs/nfs-lib.sh
18971c
@@ -17,6 +17,7 @@ nfs_to_var() {
18971c
     # FIXME: local netif=${2:-$netif}?
18971c
     case "$1" in
18971c
         nfs://*) rfc2224_nfs_to_var "$1" ;;
18971c
+        nfs:*[*) anaconda_nfsv6_to_var "$1" ;;
18971c
         nfs:*:*:/*) anaconda_nfs_to_var "$1" ;;
18971c
         *) nfsroot_to_var "$1" ;;
18971c
     esac
18971c
@@ -86,6 +87,23 @@ anaconda_nfs_to_var() {
18971c
     path="/${1##*:/}"
18971c
 }
18971c
 
18971c
+# IPv6 nfs path will be treated separately
18971c
+anaconda_nfsv6_to_var() {
18971c
+    nfs="nfs"
18971c
+    path="$1:"
18971c
+    options="${path#*:/}"
18971c
+    path="/${options%%:*}"
18971c
+    server="${1#*nfs:}"
18971c
+    if str_starts $server '['; then
18971c
+        server="${server%:/*}"
18971c
+        options="${options#*:*}"
18971c
+    else
18971c
+        server="${server%:/*}"
18971c
+        options="${server%%:*}"
18971c
+        server="${server#*:}"
18971c
+    fi
18971c
+}
18971c
+
18971c
 # nfsroot_from_dhcp NETIF
18971c
 # fill in missing server/path from DHCP options.
18971c
 nfsroot_from_dhcp() {