backends: make NewObject return fs.ErrorIsDir if possible
This changes the interface to NewObject so that if NewObject is called on a directory then it should return fs.ErrorIsDir if possible without doing any extra work, otherwise fs.ErrorObjectNotFound. Tested on integration test server with: go run integration-test.go -tests backend -run TestIntegration/FsMkdir/FsPutFiles/FsNewObjectDir -branch fix-stat -maxtries 1
This commit is contained in:
@@ -949,7 +949,9 @@ func (o *Object) readMetaData(ctx context.Context) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if info.ResourceType != "file" {
|
||||
if info.ResourceType == "dir" {
|
||||
return fs.ErrorIsDir
|
||||
} else if info.ResourceType != "file" {
|
||||
return fs.ErrorNotAFile
|
||||
}
|
||||
return o.setMetaData(info)
|
||||
|
||||
Reference in New Issue
Block a user