aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorнаб <[email protected]>2021-04-04 00:53:40 +0200
committerBrian Behlendorf <[email protected]>2021-04-07 13:28:56 -0700
commit04344d5bc33e455200413ef5f4da95722f23ba6d (patch)
treeeab98567dfdb45bb94a2f6047e45d9f4181a8ada
parent46aec6d439487fe6bdeb755eeee701847b5209ce (diff)
i-t: don't brokenly set the scheduler for root pool vdev's disks
This effectively reverts 4fc411f7a3ecee8a70fc8d6c687fae9a1cf20b31 (part of #6807) and f6fbe25664629d1ae6a3b186f14ec69dbe6c6232 (#9042) ‒ the code itself and latter PR cite symmetry with whole-disk-vdev behaviour (presumably because rootfs vdevs are rarely whole disks), but the code is broken for NVME devices (indeed, it'd strip the controller number instead of the (potential) partition number, turning "nvme0n1p1" into "nvmen1p1", which would then subsequently fail the sysfs existence check); it could be fixed to handle those (and any others) rather easily by dereferencing /sys/class/block/$devname, but this isn't the place for setting this ‒ as noted in the commit that removed setting the scheduler by default (9e17e6f2541c69a7a5e0ed814a7f5e71cbf8b90a) ‒ use an udev rule Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ahelenia Ziemiańska <[email protected]> Closes #11838
-rw-r--r--contrib/initramfs/scripts/zfs24
1 files changed, 0 insertions, 24 deletions
diff --git a/contrib/initramfs/scripts/zfs b/contrib/initramfs/scripts/zfs
index 61090a912..377f9efca 100644
--- a/contrib/initramfs/scripts/zfs
+++ b/contrib/initramfs/scripts/zfs
@@ -890,30 +890,6 @@ mountroot()
ZFS_RPOOL="${pool}"
fi
- # Set the no-op scheduler on the disks containing the vdevs of
- # the root pool. For single-queue devices, this scheduler is
- # "noop", for multi-queue devices, it is "none".
- # 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 -r i
- do
- SCHEDULER=/sys/block/$i/queue/scheduler
- if [ -e "${SCHEDULER}" ]
- then
- # Query to see what schedulers are available
- case "$(cat "${SCHEDULER}")" in
- *noop*) echo noop > "${SCHEDULER}" ;;
- *none*) echo none > "${SCHEDULER}" ;;
- esac
- fi
- done
-
# ----------------------------------------------------------------
# P R E P A R E R O O T F I L E S Y S T E M