]> granicus.if.org Git - zfs/commitdiff
Initramfs fixes
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 3 Nov 2017 22:38:52 +0000 (15:38 -0700)
committerTony Hutter <hutter2@llnl.gov>
Mon, 20 Nov 2017 22:23:33 +0000 (16:23 -0600)
* initramfs: Fix inconsistent whitespace
* initramfs: Fix a spelling error
* initramfs: Set elevator=noop on the rpool's disks

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
Closes #6807

contrib/initramfs/scripts/zfs

index 4650c964655b9a6e9beff50bf25a4fd0b7ea8cd6..500ae3fc8796a777a976e85ab3786323c7a9b010 100644 (file)
@@ -150,7 +150,7 @@ get_pools()
                fi
        fi
 
-        # Filter out any exceptions...
+       # Filter out any exceptions...
        if [ -n "$ZFS_POOL_EXCEPTIONS" ]
        then
                local found=""
@@ -883,6 +883,24 @@ mountroot()
                /bin/sh
        fi
 
+       # Set elevator=noop on the root pool's vdevs' disks.  ZFS already
+       # does this for wholedisk vdevs (for all pools), so this is only
+       # important for partitions.
+       "${ZPOOL}" status -L "${ZFS_RPOOL}" 2> /dev/null |
+           awk '/^\t / && !/(mirror|raidz)/ {
+               dev=$1;
+               sub(/[0-9]+$/, "", dev);
+               print dev
+           }' |
+           while read i
+       do
+               if [ -e "/sys/block/$i/queue/scheduler" ]
+               then
+                       echo noop > "/sys/block/$i/queue/scheduler"
+               fi
+       done
+
+
        # ----------------------------------------------------------------
        # P R E P A R E   R O O T   F I L E S Y S T E M
 
@@ -925,7 +943,7 @@ mountroot()
        #   NOTE: Mounted in the order specified in the
        #         ZFS_INITRD_ADDITIONAL_DATASETS variable so take care!
 
-       # Go through the complete list (recursivly) of all filesystems below
+       # Go through the complete list (recursively) of all filesystems below
        # the real root dataset
        filesystems=$("${ZFS}" list -oname -tfilesystem -H -r "${ZFS_BOOTFS}")
        for fs in $filesystems $ZFS_INITRD_ADDITIONAL_DATASETS