From a5453c307f53d759b38f7bf1324ef7134cbd3803 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Sat, 30 Jun 2018 14:55:21 -0700 Subject: [PATCH] Fix kernel tuning script to ignore write failures (#6107) Certain SCSI drivers do not allow certain tuning parameters like nr_requests, max_sectors_kb to be changed, ignore these errors silently as this script is simply a best effort. Fixes #6103 --- docs/deployment/kernel-tuning/disk-tuning.sh | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/deployment/kernel-tuning/disk-tuning.sh b/docs/deployment/kernel-tuning/disk-tuning.sh index 9b53671e4..e9a4a8758 100644 --- a/docs/deployment/kernel-tuning/disk-tuning.sh +++ b/docs/deployment/kernel-tuning/disk-tuning.sh @@ -1,6 +1,6 @@ #!/bin/bash -## Minio Cloud Storage, (C) 2017 Minio, Inc. +## Minio Cloud Storage, (C) 2017, 2018 Minio, Inc. ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -16,9 +16,9 @@ # This script changes protected files, and must be run as root -for i in $(ls -d /sys/block/*/queue/iosched 2>/dev/null); do - iosched_dir=$(echo $i | awk '/iosched/ {print $1}') - [ -z $iosched_dir ] && { +for i in $(echo /sys/block/*/queue/iosched 2>/dev/null); do + iosched_dir=$(echo "${i}" | awk '/iosched/ {print $1}') + [ -z "${iosched_dir}" ] && { continue } ## Change each disk ioscheduler to be "deadline" @@ -29,22 +29,22 @@ for i in $(ls -d /sys/block/*/queue/iosched 2>/dev/null); do ## see whether write requests have been starved for too ## long, and then decides whether to start a new batch ## of reads or writes - path=$(dirname $iosched_dir) - [ -f $path/scheduler ] && { - echo "deadline" > $path/scheduler + path=$(dirname "${iosched_dir}") + [ -f "${path}/scheduler" ] && { + echo "deadline" > "${path}/scheduler" 2>/dev/null || true } ## This controls how many requests may be allocated ## in the block layer for read or write requests. ## Note that the total allocated number may be twice ## this amount, since it applies only to reads or ## writes (not the accumulate sum). - [ -f $path/nr_requests ] && { - echo "256" > $path/nr_requests + [ -f "${path}/nr_requests" ] && { + echo "256" > "${path}/nr_requests" 2>/dev/null || true } ## This is the maximum number of kilobytes ## supported in a single data transfer at ## block layer. - [ -f $path/max_sectors_kb ] && { - echo "1024" > $path/max_sectors_kb || true + [ -f "${path}/max_sectors_kb" ] && { + echo "1024" > "${path}/max_sectors_kb" 2>/dev/null || true } done