mirror of
https://github.com/minio/minio.git
synced 2025-11-25 20:16:10 -05:00
reject mixed drive situations with drives on root disks (#11057)
till now we used to match the inode number of the root drive and the drive path minio would use, if they match we knew that its a root disk. this may not be true in all situations such as running inside a container environment where the container might be mounted from a different partition altogether, root disk detection might fail.
This commit is contained in:
@@ -30,3 +30,21 @@ type Info struct {
|
||||
Ffree uint64
|
||||
FSType string
|
||||
}
|
||||
|
||||
// SameDisk reports whether di1 and di2 describe the same disk.
|
||||
func SameDisk(di1, di2 Info) bool {
|
||||
if di1.Total != di2.Total {
|
||||
// disk total size different
|
||||
return false
|
||||
}
|
||||
|
||||
if di1.Files != di2.Files {
|
||||
// disk total inodes different
|
||||
return false
|
||||
}
|
||||
|
||||
// returns true only if Used, Free and number of free
|
||||
// inodes are same, then its the same disk.
|
||||
return di1.Used == di2.Used && di1.Free == di2.Free &&
|
||||
di1.Ffree == di2.Ffree
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user