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
17 lines
359 B
Go
17 lines
359 B
Go
// Copyright (C) 2023 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package iopriority
|
|
|
|
// #include <sys/resource.h>
|
|
import "C"
|
|
|
|
// SetLowIOPriority lowers the process I/O priority.
|
|
func SetLowIOPriority() error {
|
|
r1, err := C.setiopolicy_np(C.IOPOL_TYPE_DISK, C.IOPOL_SCOPE_PROCESS, C.IOPOL_THROTTLE)
|
|
if r1 != 0 {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|