f076238748
As part of fixing the IO priority of filewalker related processes such as the garbage collection and used-space calculation, this change allows the initial used-space calculation to run as a separate subprocess with lower IO priority. This can be enabled with the `--storage2.enable-lazy-filewalker` config item. It falls back to the old behaviour when the subprocess fails. Updates https://github.com/storj/storj/issues/5349 Change-Id: Ia6ee98ce912de3e89fc5ca670cf4a30be73b36a6
18 lines
529 B
Go
18 lines
529 B
Go
// Copyright (C) 2023 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
//go:build !windows && !linux && !darwin
|
|
// +build !windows,!linux,!darwin
|
|
|
|
package iopriority
|
|
|
|
import "syscall"
|
|
|
|
// SetLowIOPriority lowers the process I/O priority.
|
|
func SetLowIOPriority() error {
|
|
// This might not necessarily affect the process I/O priority as POSIX does not
|
|
// mandate the concept of I/O priority. However, it is a "best effort" to lower
|
|
// the process I/O priority.
|
|
return syscall.Setpriority(syscall.PRIO_PROCESS, 0, 9)
|
|
}
|