1
0
mirror of https://github.com/minio/minio.git synced 2025-03-13 05:00:11 -04:00

33 Commits

Author SHA1 Message Date
Krishnan Parthasarathi
6ba323b009 Add ability to test drive speeds on a MinIO setup ()
- Extends existing Admin API to measure disk performance
2019-09-13 03:22:30 +05:30
Harshavardhana
aaef18b1a3 Fail for disks which overflow upon usage calculation ()
Fixes 
2019-08-13 02:58:43 -07:00
maihde
d966d29fed fix: add integer code for Windows Subsystem for Linux filesystem () 2019-08-01 06:00:57 -07:00
Krishna Srinivas
a3ec71bc28 Use O_DIRECT while writing to disk ()
- Use O_DIRECT while writing to disk
- Remove MINIO_DRIVE_SYNC option
2019-04-23 21:25:06 -07:00
kannappanr
5ecac91a55
Replace Minio refs in docs with MinIO and links () 2019-04-09 11:39:42 -07:00
Harshavardhana
12eb71828b Fix posix tests for SimpleCI () 2019-03-05 19:53:01 -08:00
Harshavardhana
df35d7db9d Introduce staticcheck for stricter builds () 2019-02-13 18:29:36 +05:30
Krishna Srinivas
82af0be1aa Healing process should not heal root disk () 2019-01-23 15:29:29 -08:00
Nitish Tiwari
fcb56d864c Add ServerDrivesPerfInfo() admin API ()
This is part of implementation for mc admin health command. The
ServerDrivesPerfInfo() admin API returns read and write speed
information for all the drives (local and remote) in a given Minio
server deployment.

Part of 
2018-12-31 09:46:44 -08:00
Harshavardhana
e6ec645035 Implement support for calculating disk usage per tenant ()
Fixes 
2018-05-23 15:41:29 +05:30
Harshavardhana
8d59f35523 Add GetInfo() support for solaris ()
Fixes 
2017-11-13 12:54:38 -08:00
Harshavardhana
3d0dced23c Remove go1.9 specific code for windows ()
Following fix https://go-review.googlesource.com/#/c/41834/ has
been merged upstream and released with go1.9.
2017-10-13 15:31:15 +05:30
Julien Maitrehenry
02a5f1e96a Add b2s method on pkg/disk/type_bsd.go () 2017-10-10 02:27:28 -07:00
Harshavardhana
4deefa3695 tests: Remove dependency on check.v1 ()
This PR addresses a long standing dependency on
`gopkg.in/check.v1` project used for our tests.
All tests are re-written to use the go default
testing framework instead.

There was no reason for us to use an external
package where Go tools are sufficient for this.
2017-10-10 02:14:42 -07:00
Bala FA
88938340b3 remove all dead codes ()
Fixes 
2017-10-05 12:25:45 -07:00
Tamer Fahmy
0bf981278e Provide the correct free block size volume/disk information ()
On *NIX platforms the statfs(2) system call returns a struct containing both the
free blocks in the filesystem (Statfs_t.Bfree) and the free blocks available to
the unprivileged or non-superuser (Statfs_t.Bavail).

The `Bfree` and `Bavail` fields (with `Bfree >= Bavail`) will be set to
different values on e.g. filesystems such as ext4 that reserve a certain
percentage of the filesystem blocks which may only be allocated by admnistrative
privileged processes.

The calculations for the `Total` disk space need to subtract the difference
between the `Bfree` and `Bavail` fields for it to correctly show the total
available storage space available for unprivileged users.

This implicitly fixes a bug where the `Used = Total - Free` calculation yielded
different (and also incorrect) results for identical contents stored when only
the sizes of the disks or backing volumes differed. (as can be witnessed in the
`Used:` value displayed in the Minio browser)

See:
- https://wiki.archlinux.org/index.php/ext4#Reserved_blocks
- http://man7.org/linux/man-pages/man2/statfs.2.html
- https://man.openbsd.org/statfs
- http://lingrok.org/xref/coreutils/src/df.c#893
2017-09-25 18:46:19 -07:00
Nitish Tiwari
fcc61fa46a Remove minimum inodes reqd check () 2017-08-03 20:07:22 -07:00
Harshavardhana
f0b5c0ec7c windows: Support all REPARSE_POINT attrib files properly. ()
This change adopts the upstream fix in this regard at
https://go-review.googlesource.com/#/c/41834/ for Minio's
purposes.

Go's current os.Stat() lacks support for lot of strange
windows files such as

 - share symlinks on SMB2
 - symlinks on docker nanoserver
 - de-duplicated files on NTFS de-duplicated volume.

This PR attempts to incorporate the change mentioned here

   https://blogs.msdn.microsoft.com/oldnewthing/20100212-00/?p=14963/

The article suggests to use Windows I/O manager to
dereference the symbolic link.

Fixes 
2017-05-02 02:35:27 -07:00
Harshavardhana
85cbd875fc cleanup: All conditionals simplified under pkg. ()
Address all the changes reported/recommended by
`gosimple` tool.
2017-03-09 10:13:30 -08:00
Karthic Rao
a799351926 Fix macOS builds () 2017-02-10 00:37:22 -08:00
Krishnan Parthasarathi
e5773e11c6 Make minio server compile on OpenBSD, NetBSD, Solaris () 2017-02-08 22:27:35 -08:00
Harshavardhana
f3c6c55719 posix: Fix windows performance issues. ()
Do not attempt to fetch volume/drive information for
each i/o situation. In our case we do this in all calls
`posix.go` this in-turn created a terrible situation for
windows. This issue does not affect the i/o path on Unix
platforms since statvfs calls are in the range of micro
seconds on these platforms.

This verification is only needed during startup and we
let things fail at a later stage on windows.
2016-10-31 09:34:44 -07:00
Anis Elleuch
9417614a8e Recalculate free minimum disk space ()
* Fix calculating free space disk by using blocks available for unprivileged user

* Use fixed minimal free disk space instead of percentage
2016-09-27 12:46:38 -07:00
Bala FA
1ad5fb8f76 posix: checkDiskFree() also checks free inodes. ()
Previously checkDiskFree() checks for free available space.  This
patch enables checkDiskFree() also checks for free inodes in linux and
free clusters in windows.

Fixes 
2016-07-03 22:34:45 -07:00
Harshavardhana
51f3d4e0ca XL/multipart: statPart should ignore errDiskNotFound. ()
startPart should also take uploadId and partName as arguments.
2016-06-07 18:15:04 -07:00
Harshavardhana
6037fe66e9 minio: Simplify for gosimple tool complaints. 2016-04-02 17:28:54 -07:00
Anis Elleuch
663f24064b Add simple FreeBSD support, make the minio project compilable 2016-03-26 22:39:34 +01:00
Harshavardhana
18375b7794 ioutils: Add tests 2016-01-26 12:34:04 -08:00
Harshavardhana
497f13d733 api: Various fixes.
- limit list buckets to limit only 100 buckets, all uppercase buckets
  are now lowercase and work transparently with all calls.
- Change disk.Stat to disk.GetInfo and return back disk.Info{} struct.
- Introduce new ioutils package which implements ReadDirN(path, n),
  ReadDirNamesN(path, n)
2016-01-25 16:08:27 -08:00
Harshavardhana
1bfb490f90 pkg/user: Add pending tests. 2015-12-07 14:13:54 -08:00
Harshavardhana
b74852116a Fix portability issues for arm on raspberry pi 2015-10-20 11:22:00 -07:00
Harshavardhana
a8a935f5fd Improve disk code to return back disk StatFS{} structure
```
StatFS {
Total int64
Free int64
FSType string
}
```

Provides more information in a cross platform way.
2015-10-17 20:19:26 -07:00
Harshavardhana
aee0845b2e Add disk package
Implements

   - Stat returns total and free disk space supported across platforms
   - Type returns type of the filesystem underneath
2015-10-17 16:48:24 -07:00