summaryrefslogtreecommitdiff
path: root/sys-kernel/dracut/files/fix-bash-5.patch
blob: 1f8f29cb9c32715199dc0239f17c5190e2368864 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
index d39ca1b7..8dbc8b3c 100755
--- ./modules.d/99fs-lib/fs-lib.sh
+++ ./modules.d/99fs-lib/fs-lib.sh
@@ -44,22 +44,22 @@ fsck_able() {
             ;;
         ext?)
             type e2fsck >/dev/null 2>&1 &&
-            _drv="_drv=e2fsck fsck_drv_com" &&
+            _drv="_drv=e2fsck fsck_drv_com e2fsck" &&
             return 0
             ;;
         f2fs)
 	    type fsck.f2fs >/dev/null 2>&1 &&
-	    _drv="_drv=fsck.f2fs fsck_drv_com" &&
+	    _drv="_drv=fsck.f2fs fsck_drv_com fsck.f2fs" &&
 	    return 0
 	    ;;
         jfs)
             type jfs_fsck >/dev/null 2>&1 &&
-            _drv="_drv=jfs_fsck fsck_drv_com" &&
+            _drv="_drv=jfs_fsck fsck_drv_com jfs_fsck" &&
             return 0
             ;;
         reiserfs)
             type reiserfsck >/dev/null 2>&1 &&
-            _drv="_drv=reiserfsck fsck_drv_com" &&
+            _drv="_drv=reiserfsck fsck_drv_com reiserfsck" &&
             return 0
             ;;
         btrfs)
@@ -75,7 +75,7 @@ fsck_able() {
             ;;
         *)
             type fsck >/dev/null 2>&1 &&
-            _drv="_drv=fsck fsck_drv_std" &&
+            _drv="_drv=fsck fsck_drv_std fsck" &&
             return 0
             ;;
     esac
@@ -99,6 +99,7 @@ fsck_drv_btrfs() {
 fsck_drv_com() {
     local _ret
     local _out
+    local _drv=$1
 
     if ! strglobin "$_fop" "-[ynap]"; then
         _fop="-a ${_fop}"
@@ -177,7 +178,7 @@ fsck_batch() {
     _out="$(fsck -M -T "$@" -- -a)"
     _ret=$?
 
-    fsck_tail
+    _drv=$_drv fsck_tail
 
     return $_ret
 }