From 9c5d9ae37681183d1f22161694629da8a0f3ec88 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Wed, 17 Nov 2021 15:48:47 -0800 Subject: [PATCH] fallback O_DIRECT if not supported, do regular reads() (#13680) --- internal/ioutil/read_file.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/ioutil/read_file.go b/internal/ioutil/read_file.go index 1a5f6d20a..e7cc7c3e3 100644 --- a/internal/ioutil/read_file.go +++ b/internal/ioutil/read_file.go @@ -19,6 +19,7 @@ package ioutil import ( "io" + "os" "github.com/minio/minio/internal/disk" ) @@ -32,7 +33,12 @@ import ( func ReadFile(name string) ([]byte, error) { f, err := disk.OpenFileDirectIO(name, readMode, 0666) if err != nil { - return nil, err + // fallback if there is an error to read + // 'name' with O_DIRECT + f, err = os.OpenFile(name, readMode, 0666) + if err != nil { + return nil, err + } } r := &ODirectReader{ File: f,