warn issues about large block I/O performance for Linux older than 4.0.0 (#14524)

This PR simply adds a warning message when it detects older kernel
versions and warn's them about potential performance issues on this
kernel.

The issue can be seen only with parallel I/O across all drives
on denser setups such as 90 drives or 45 drives per server configurations.
This commit is contained in:
Harshavardhana
2022-03-10 17:36:13 -08:00
committed by GitHub
parent 23345098ea
commit 91d419ee6c
8 changed files with 346 additions and 4 deletions

View File

@@ -0,0 +1,32 @@
// Copyright (c) 2015-2022 MinIO, Inc.
//
// This file is part of MinIO Object Storage stack
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//go:build (linux && 386) || (linux && amd64) || (linux && arm64) || (linux && mips64) || (linux && mips)
// +build linux,386 linux,amd64 linux,arm64 linux,mips64 linux,mips
package kernel
func utsnameStr(in []int8) string {
out := make([]byte, 0, len(in))
for i := 0; i < len(in); i++ {
if in[i] == 0x00 {
break
}
out = append(out, byte(in[i]))
}
return string(out)
}