posix: Do not print errors in expected errors. (#3012)

Fixes #3011
This commit is contained in:
Harshavardhana 2016-10-20 09:26:18 -07:00 committed by GitHub
parent c189337b6e
commit 95567c68bf

View File

@ -73,23 +73,29 @@ func checkPathLength(pathName string) error {
func isDirEmpty(dirname string) bool { func isDirEmpty(dirname string) bool {
f, err := os.Open(dirname) f, err := os.Open(dirname)
if err != nil { if err != nil {
errorIf(err, "Unable to access directory.") errorIf(func() error {
if !os.IsNotExist(err) {
return err
}
return nil
}(), "Unable to access directory.")
return false return false
} }
defer f.Close() defer f.Close()
// List one entry. // List one entry.
_, err = f.Readdirnames(1) _, err = f.Readdirnames(1)
if err != nil { if err != io.EOF {
if err == io.EOF { errorIf(func() error {
if !os.IsNotExist(err) {
return err
}
return nil
}(), "Unable to list directory.")
return false
}
// Returns true if we have reached EOF, directory is indeed empty. // Returns true if we have reached EOF, directory is indeed empty.
return true return true
} }
errorIf(err, "Unable to list directory.")
return false
}
// Directory is not empty.
return false
}
// Initialize a new storage disk. // Initialize a new storage disk.
func newPosix(diskPath string) (StorageAPI, error) { func newPosix(diskPath string) (StorageAPI, error) {