mirror of
https://github.com/pgsty/minio.git
synced 2026-10-06 17:55:59 +03:00
disable check for DirectIO in standalone FS mode (#9558)
This commit is contained in:
+10
-3
@@ -140,7 +140,7 @@ func checkPathLength(pathName string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func getValidPath(path string) (string, error) {
|
||||
func getValidPath(path string, requireDirectIO bool) (string, error) {
|
||||
if path == "" {
|
||||
return path, errInvalidArgument
|
||||
}
|
||||
@@ -181,9 +181,16 @@ func getValidPath(path string) (string, error) {
|
||||
fn := pathJoin(path, ".writable-check-"+hex.EncodeToString(rnd[:])+".tmp")
|
||||
defer os.Remove(fn)
|
||||
|
||||
var file *os.File
|
||||
|
||||
if requireDirectIO {
|
||||
file, err = disk.OpenFileDirectIO(fn, os.O_CREATE|os.O_EXCL, 0666)
|
||||
} else {
|
||||
file, err = os.OpenFile(fn, os.O_CREATE|os.O_EXCL, 0666)
|
||||
}
|
||||
|
||||
// open file in direct I/O and use default umask, this also verifies
|
||||
// if direct i/o failed.
|
||||
file, err := disk.OpenFileDirectIO(fn, os.O_CREATE|os.O_EXCL, 0666)
|
||||
if err != nil {
|
||||
if isSysErrInvalidArg(err) {
|
||||
return path, errUnsupportedDisk
|
||||
@@ -222,7 +229,7 @@ func isDirEmpty(dirname string) bool {
|
||||
// Initialize a new storage disk.
|
||||
func newPosix(path string) (*posix, error) {
|
||||
var err error
|
||||
if path, err = getValidPath(path); err != nil {
|
||||
if path, err = getValidPath(path, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_, err = os.Stat(path)
|
||||
|
||||
Reference in New Issue
Block a user