Commit Graph

186 Commits (8cbdb096e7631f0ab6d78e9348da26bbca3fdfe6)

Author SHA1 Message Date
Tobias Klauser 10cdcee035 Fix typos in FreeBSD mount option strings
Fix typos in FreeBSD mount option strings so they match the values given
in the mount(8) manpage: https://www.freebsd.org/cgi/man.cgi?mount(8)
Tobias Klauser 214c5bdb50 Use MNT_* consts from golang.org/x/sys/unix on freebsd and openbsd
Update vendored version of golang.org/x/sys/unix and use the MNT_*
constants there to replace the locally generated ones.
Dmitri Goutnik 270f6afc22
Add support for freebsd/arm64
Lomanic e4ec7b275a [disk][linux] Fix #555 for kernels >=2.6.26
Lomanic dc5a4756c9 [disk][darwin] Fix #560 using github.com/lufia/iostat cgo implementation
Aman Gupta 74d3cea10f Proper fix for unavailable /proc/filesystems
John Floren 93e08ea089 Fixes a problem when using Docker on a host with an encrypted LLVM root. A docker container with a volume mounted from the host will see /dev/mapper in its mount info file, but will not be able to read it.
eshimizu 91b1c81467
Update disk_linux.go
Aman Gupta 34b030b41c
Ignore getFileSystems errors when requesting all partitions
Aman Gupta ea0f864aef ignore /proc/filesystems errors on android
Simon Frei fb73f7095e Revert "[disk][openbsd] Use fallback for openBSD not on amd64"
This reverts commit 3aa75af2ac.
shirou 47ef3260b6
Merge pull request #720 from imsodin/diskOpenBSDFallback
[disk][openbsd] Use fallback for openBSD not on amd64
Lomanic 8abc5387a0 [disk][openbsd] Add 386 const and types definitions
Simon Frei 3aa75af2ac [disk][openbsd] Use fallback for openBSD not on amd64
Tony Lambiris 80ceab90aa
Add support for hfsplus file system
Lomanic d7405fd873 [disk][linux] Follow symlinks with filepath.EvalSymlinks for LVM volumes
See #686
Tony Lambiris 8037dc42c8
Add a check for logical volume paths
shirou b2eb6640fb [disk][windows]: does not define ret at begining of the function.
To reduce memory when error happend. commented on #653.
mingrammer 017c9f9cbc Fix typos
Lomanic 368a865910 [disk][linux] Fix comment in PartitionsWithContext
Lomanic 0d3a2ac515
[disk][linux] Fix comment in PartitionsWithContext
JHE a08b926ce6 It could be another error than the "self/mountinfo" missing
JHE 06a21ae66a Fix some issue.
JHE a5cb715e64 if mountinfo not found, use mounts
JHE d141349619 if mountinfo not found, use mounts
JHE a45f6d8a03 if mountinfo not found, use mounts
shirou 0714469421
Merge pull request #593 from nvinzens/master
replace self/mounts with self/mountinfo
shirou 64d607539e add FreeBSD ARM support. copied from i386
Nico Vinzens 1a7a39a789
Merge branch 'master' into master
Remy Mathieu fda98ebc34 disk: trim the device mapper name.
While reading the value of the file with `ioutil.ReadFile`,
the name is suffixed with a `\n`

Tested on Ubuntu 18.10
shirou 852c7686b5
Merge pull request #613 from tmm1/allow-a-b-windows-drives
do not ignore A: and B: drives on windows
Aman Gupta d021425af3 do not ignore A: and B: drives on windows
from https://www.howtogeek.com/122891/what-are-the-windows-a-and-b-drives-used-for/

>if your computer does not have floppy disk drives, you can assign A and B to volumes
Aman Gupta ab57d4a5fe fix minor typo in disk_windows
Lomanic 8888537497 [disk][linux] Fix #555 Unescape escaped sequences in fstab path in disk.Partitions
Nico Vinzens 1079f31626 change the way we handle the mountinfo lines
Nico Vinzens 23dfe98621 use HostSys to construct device path
Nico Vinzens 813c630e9c replace self/mounts with self/mountinfo
shirou 8048a2e9c5 [disk] add an comment.
Tomasz Kolodziej 8e2d09ee63 Removed unnecessary line
Tomasz Kolodziej 573f3336a4 Fixing calculation of UsedPercent.
Now it is calculated based of available disk space for user,
not including reserved space for root. This is compatible
with psutil and df command.
Lomanic 00bbeb757e [disk][unix] Fix #555 Unescape escaped sequences in fstab path in disk.Usage
Jaime Soriano Pastor 61902bc2a5 Use HOST_* environment variables for getting disk serial number in Linux
shirou 8563278a9d Revert "Merge pull request #541 from sify21/fix_435"
This reverts commit a9c2f23bc2, reversing
changes made to ebfe800cf9.
司芳源 1b641b25eb not export custom types
司芳源 98cd971621 wrong variable
司芳源 facd46a4a5 Implement disk.GetDiskSerialNumber for Windows via WMI. Parameter should be drive letter, so it can be used in IOCountersStat. See last part of https://msdn.microsoft.com/en-us/library/windows/desktop/aa394592(v=vs.85).aspx.
Michal Rostecki ff2e736f72 disk: Check for error objects returned by Getfsstat
shirou d813235a11 disk[linux]: cast uint64 for build on MIPS
related: #533
Jaime Soriano Pastor f03124bf86 Read disk model and serial from udev data or sysfs on Linux
It reads model and serial data directly from files instead of using
`udevadm` command. This way obtaining the disk serial number doesn't
depend on command execution, and can be also possible even if udev or
udevadm are not available.
shirou 57f370e130 [disk]linux: fix test
shirou 6a55ce0958 [disk]linux: fix Getlabel
Ofek Lev 0f8edaa97e address review
Ofek Lev 35ed9c11c7 [disk][linux] add label based on devicemapper name of disk
shirou 145dca90f7 change to use CommandContext.
shirou 837fc76f68 [disk] darwin i386: add definition for darwin/386
and change to use Statfs. it is same as freebsd/openbsd.
Laurie Clark-Michalek 413cb32b6c Use static initialisation for invoke instances, instead of init funcs
The order of init function execution is dependant on the order that the
source files are passed to the compiler. This causes issues when
building under other build systems, such as bazel or buck, as they are
not guarenteed to maintain the same file order as the default go tool.
sada 8dd42707e2 windows: fix WithContext functions
set timeout only if parent context doesn't set.
shirou cd61c36c4f
Merge branch 'master' into feature/add_context_support
shirou 756e91c8f5 [disk]linux: use basename such as sda1 for IOCounters
shirou 4c73494c78 Add WithContext functions.
leaf 65598d98cc To prevent hang if wmi.Query hangs, add a context-aware wrapper for it.
Marco Pfatschbacher d62768abc9 Fix IOCounters for OpenBSD
Use SysctlRaw instead of Sysctl.
The latter assumes NUL terminated strings
which returns the lenght off by one.
Therefore, only n-1 disks where reported.
WAKAYAMA Shirou 114c78c777 [host]: add not implemented methods.
James Nugent 95e4816cce disk: Remove -mmacosx-version-min from darwin+cgo
The presence of the -mmacosx-version-min flag in disk_darwin_cgo.go
makes it impossible to build the other cgo components on modern Mac OS X
(10.12), since the object files with which they must link are not built
with that flag. Errors present from Go Tip (1.9, effectively) in the
form:

ld: warning: object file (whatever.o) was built for newer OSX version
(10.12) than being linked (10.10)

This commit removes the minimum version flag, instead targeting the
version of OS X on which a binary is compiled as the minimum. Without
this, I believe (though have not verified it actually works) that the
only way to build without without warnings/undefined behaviour if the OS
X 10.10 headers and objects are installed and configured correctly.
WAKAYAMA Shirou 66b0ca3121 [disk] Add comment to disk.Usage().
Sean Chittenden 635b971c0e
Move from the `syscall` package to the `golang.org/x/sys/{unix,windows}`
Aman Gupta a08587b348 Update disk_linux.go
Aman Gupta e346d3829a remove obsolete comment
Aman Gupta 5e1770d1f2 read disk partitions on linux from /proc/mounts intead of /etc/mtab
shirou 37c114fe6c Merge pull request #366 from tmm1/patch-2
Ignore GetVolumeInformation errors on DRIVE_REMOVABLE volumes
Aman Gupta f2cbbac707 Ignore GetVolumeInformation errors on DRIVE_REMOVABLE volumes
Aman Gupta b59c2a2be3 Include "DRIVE_REMOTE" volumes on windows
Daniel Nelson 3830ed16b4
Make IOCounters a variadic function
Remove IOCountersForNames that was recently added in favor of variadic
function with same capabilities.
WAKAYAMA Shirou dfbb3e40da fix build bugs.
Daniel Nelson ab6db76df1
Fix IOCountersForNames on darwin
Daniel Nelson 3f35f001da
Add disk.IOCountersForNames function
Operates like disk.IOCounters, but accepts an array of names to limit
the results.
Robin Burchell b327360349 disk_darwin: Add support for IOCounters using IOKit
Cameron Sparr a213bf5e6d
run go fmt ./...
HeChuan c73b6685be fix: division by zero possible
some filesystem have zero Inode
Marco Pfatschbacher b4846b445b Add support for OpenBSD/amd64
This code is based on the FreeBSD version
and implements roughly the same feature set.
Marc Magnin 31f4fb8dee fixed test TestDiskIOCountersStat_String to consider new weightedIO field
Marc Magnin acf3fef036 added weightedIO field to disk IOCountersStat (last field of /etc/mtab)
Shirou WAKAYAMA 08a6ab66b0 disk: If could not get Inodes, return empty.
Lukas Fittl da9fa1162b Add fallback code for all unsupported operating systems.
This enables using gopsutil in a codebase that gets built on other OSes
than the ones supported. Instead of a build failure as before, due to
the build tags, gopsutil will now throw an "not implemented" runtime
error.

Fixes #234.
Lukas Fittl 8f2153dfcf Add missing disk IO statistics for merged reads/writes, IOPS in progress.
shirou ee66bc560c Merge pull request #232 from phemmer/io_time_freebsd
add disk IoTime on freebsd and fix read & write time calculation
Patrick Hemmer 3cfaee3a93 add disk IoTime on freebsd and fix read & write time calculation
Zdenek Styblik 70cbab7045 [disk]linux: add documentation for GetDiskSerialNumber()
Commit adds documentation for GetDiskSerialNumber(), because it wasn't clear
what was expected as a parameter.

Fixes #212
Cameron Sparr da43049324 Fix potential panic in linux disk IO counters
Old kernels have a bug in diskstats where lines can have less than 14
fields. This applies to the kernel present in RHEL 5.2 and earlier.

It's a bit of a niche but probably best to patch to be safe from future
bugs too.

RHEL bug case:
https://bugzilla.redhat.com/show_bug.cgi?id=583285

Encountered in Telegraf:
https://github.com/influxdata/telegraf/issues/1322
Shirou WAKAYAMA 57f6aebc7e add Timeout to invoke command and use common.Invoke refs: #201
Aaron Zinman 4041e7d31e Fix compile errors for iOS/arm64
- Added conditional preprocessor guard on cpu_darwin_cgo.go

- Duplicated disk_darwin_amd64 for arm64 (after confirming
that sys/mount.h are the same between the two platforms, hence the
constants should be valid).
WAKAYAMA shirou e864f2a037 [disk]freebsd: update 386.
Shirou WAKAYAMA f2ebb91cf0 [disk]darwin,freebsd: implements 'all' argument.
Shirou WAKAYAMA ca99d7dc3f [disk]linux: implements 'all' argument.
Shirou WAKAYAMA d21ed2b40d search path via exec.LookPath before actual invoke.
Shirou WAKAYAMA 613a8a90e1 fixed by golint.
Shirou WAKAYAMA da89408631 Merge branch 'master' into v2
Shirou WAKAYAMA 4bb84648bf JSON representation is renamed to fit Google JSON style, camelCase.
Shirou WAKAYAMA ea152ea901 [BREAKING CHANGE] rename functions to pass golint. ex) net.NetIOCounters -> net.IOCounters
WAKAYAMA shirou dc8b14acd5 [disk]freebsd: change to use C.sizeof_struct.