open-vault/physical/raft/bolt_linux.go
Austin Gebauer 7df39640e0
Update gopsutil to v3 to fix MacOS deprecation warnings (#16321)
* Update gopsutil to v3

* Adds v2 field names in host-info response to allow eventual deprecation in favor of v3 field names

* Map v3 to v2 field names to keep host-info api compat

* copy gopsutil license into source
2022-07-20 16:37:10 -07:00

37 lines
596 B
Go

package raft
import (
"context"
"os"
"github.com/shirou/gopsutil/v3/mem"
"golang.org/x/sys/unix"
)
func init() {
getMmapFlags = getMmapFlagsLinux
}
func getMmapFlagsLinux(dbPath string) int {
if os.Getenv("VAULT_RAFT_DISABLE_MAP_POPULATE") != "" {
return 0
}
stat, err := os.Stat(dbPath)
if err != nil {
return 0
}
size := stat.Size()
v, err := mem.VirtualMemoryWithContext(context.Background())
if err != nil {
return 0
}
// We won't worry about swap, since we already tell people not to use it.
if v.Total > uint64(size) {
return unix.MAP_POPULATE
}
return 0
}