mirror of
https://github.com/minio/minio.git
synced 2024-12-24 06:05:55 -05:00
Add 5% cumulative reduction in total size of the disk
This is done due to filesystem holding additional metadata and inode space which is unaccounted for during min-free-disk calculation.
This commit is contained in:
parent
d5e5b8777f
commit
dddb1650de
@ -228,7 +228,7 @@ var errorCodeResponse = map[int]APIError{
|
||||
},
|
||||
RootPathFull: {
|
||||
Code: "RootPathFull",
|
||||
Description: "Root path has reached its minimum free disk threshold. Please clear few objects to proceed.",
|
||||
Description: "Root path has reached its minimum free disk threshold. Please delete few objects to proceed.",
|
||||
HTTPStatusCode: http.StatusInternalServerError,
|
||||
},
|
||||
}
|
||||
|
@ -98,7 +98,9 @@ func (fs Filesystem) MakeBucket(bucket, acl string) *probe.Error {
|
||||
return probe.NewError(err)
|
||||
}
|
||||
|
||||
if int64((float64(stfs.Free)/float64(stfs.Total))*100) <= fs.minFreeDisk {
|
||||
// Remove 5% from total space for cumulative disk space used for journalling, inodes etc.
|
||||
availableDiskSpace := (float64(stfs.Free) / (float64(stfs.Total) - (0.05 * float64(stfs.Total)))) * 100
|
||||
if int64(availableDiskSpace) <= fs.minFreeDisk {
|
||||
return probe.NewError(RootPathFull{Path: fs.path})
|
||||
}
|
||||
|
||||
|
@ -153,7 +153,9 @@ func (fs Filesystem) NewMultipartUpload(bucket, object string) (string, *probe.E
|
||||
return "", probe.NewError(err)
|
||||
}
|
||||
|
||||
if int64((float64(stfs.Free)/float64(stfs.Total))*100) <= fs.minFreeDisk {
|
||||
// Remove 5% from total space for cumulative disk space used for journalling, inodes etc.
|
||||
availableDiskSpace := (float64(stfs.Free) / (float64(stfs.Total) - (0.05 * float64(stfs.Total)))) * 100
|
||||
if int64(availableDiskSpace) <= fs.minFreeDisk {
|
||||
return "", probe.NewError(RootPathFull{Path: fs.path})
|
||||
}
|
||||
|
||||
@ -228,7 +230,9 @@ func (fs Filesystem) CreateObjectPart(bucket, object, uploadID, expectedMD5Sum s
|
||||
return "", probe.NewError(err)
|
||||
}
|
||||
|
||||
if int64((float64(stfs.Free)/float64(stfs.Total))*100) <= fs.minFreeDisk {
|
||||
// Remove 5% from total space for cumulative disk space used for journalling, inodes etc.
|
||||
availableDiskSpace := (float64(stfs.Free) / (float64(stfs.Total) - (0.05 * float64(stfs.Total)))) * 100
|
||||
if int64(availableDiskSpace) <= fs.minFreeDisk {
|
||||
return "", probe.NewError(RootPathFull{Path: fs.path})
|
||||
}
|
||||
|
||||
|
@ -171,7 +171,9 @@ func (fs Filesystem) CreateObject(bucket, object, expectedMD5Sum string, size in
|
||||
return ObjectMetadata{}, probe.NewError(err)
|
||||
}
|
||||
|
||||
if int64((float64(stfs.Free)/float64(stfs.Total))*100) <= fs.minFreeDisk {
|
||||
// Remove 5% from total space for cumulative disk space used for journalling, inodes etc.
|
||||
availableDiskSpace := (float64(stfs.Free) / (float64(stfs.Total) - (0.05 * float64(stfs.Total)))) * 100
|
||||
if int64(availableDiskSpace) <= fs.minFreeDisk {
|
||||
return ObjectMetadata{}, probe.NewError(RootPathFull{Path: fs.path})
|
||||
}
|
||||
|
||||
|
@ -247,6 +247,8 @@ func serverMain(c *cli.Context) {
|
||||
|
||||
var minFreeDisk int64
|
||||
minFreeDiskSet := false
|
||||
// Default
|
||||
minFreeDisk = 10
|
||||
|
||||
var expiration time.Duration
|
||||
expirationSet := false
|
||||
|
Loading…
Reference in New Issue
Block a user