mirror of
https://github.com/minio/minio.git
synced 2025-11-09 21:49:46 -05:00
Healing process should not heal root disk (#7089)
This commit is contained in:
committed by
kannappanr
parent
e8c18bc145
commit
82af0be1aa
31
pkg/disk/root-disk-unix.go
Normal file
31
pkg/disk/root-disk-unix.go
Normal file
@@ -0,0 +1,31 @@
|
||||
// +build !windows
|
||||
|
||||
package disk
|
||||
|
||||
import (
|
||||
"os"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// IsRootDisk returns if diskPath belongs to root-disk, i.e the disk mounted at "/"
|
||||
func IsRootDisk(diskPath string) (bool, error) {
|
||||
rootDisk := false
|
||||
diskInfo, err := os.Stat(diskPath)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
rootInfo, err := os.Stat("/")
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
diskStat, diskStatOK := diskInfo.Sys().(*syscall.Stat_t)
|
||||
rootStat, rootStatOK := rootInfo.Sys().(*syscall.Stat_t)
|
||||
if diskStatOK && rootStatOK {
|
||||
if diskStat.Dev == rootStat.Dev {
|
||||
// Indicate if the disk path is on root disk. This is used to indicate the healing
|
||||
// process not to format the drive and end up healing it.
|
||||
rootDisk = true
|
||||
}
|
||||
}
|
||||
return rootDisk, nil
|
||||
}
|
||||
9
pkg/disk/root-disk-windows.go
Normal file
9
pkg/disk/root-disk-windows.go
Normal file
@@ -0,0 +1,9 @@
|
||||
// +build windows
|
||||
|
||||
package disk
|
||||
|
||||
// IsRootDisk returns if diskPath belongs to root-disk, i.e the disk mounted at "/"
|
||||
func IsRootDisk(diskPath string) (bool, error) {
|
||||
// On windows a disk can never be mounted on a subpath.
|
||||
return false, nil
|
||||
}
|
||||
Reference in New Issue
Block a user